655 lines
30 KiB
VB.net
655 lines
30 KiB
VB.net
Option Explicit On
|
|
Option Strict On
|
|
|
|
Imports System.Data
|
|
Imports Extensiones
|
|
Partial Class AC_RegComprometido
|
|
Inherits ClsPaginas
|
|
|
|
#Region "PROPIEDADES"
|
|
Private Property DtDetalle As DataTable
|
|
Get
|
|
DtDetalle = DirectCast(ViewState("DtDetalle"), DataTable)
|
|
End Get
|
|
|
|
Set(ByVal value As DataTable)
|
|
ViewState("DtDetalle") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtDetallePagar As DataTable
|
|
Get
|
|
DtDetallePagar = DirectCast(ViewState("DtDetallePagar"), DataTable)
|
|
End Get
|
|
|
|
Set(ByVal value As DataTable)
|
|
ViewState("DtDetallePagar") = value
|
|
End Set
|
|
End Property
|
|
Private Property DtPresupuestos As DataTable
|
|
Get
|
|
DtPresupuestos = DirectCast(ViewState("DtPresupuestos"), DataTable)
|
|
End Get
|
|
|
|
Set(ByVal value As DataTable)
|
|
ViewState("DtPresupuestos") = value
|
|
End Set
|
|
End Property
|
|
|
|
Private Property Opc As String
|
|
Get
|
|
Opc = ViewState("Opc").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("Opc") = value
|
|
End Set
|
|
End Property
|
|
#End Region
|
|
|
|
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
|
|
If Not Page.IsPostBack Then
|
|
|
|
Opc = IfNull(Request("Opc"), "Otro").ToString
|
|
ViewState("Orden") = ""
|
|
ViewState("OrdenPagar") = ""
|
|
|
|
If Opc.ToUpper = "NOM" Then
|
|
LbTitulo.Text = "Comprometido Nómina"
|
|
Else
|
|
LbTitulo.Text = "Comprometido Otros"
|
|
End If
|
|
|
|
Dim FechaI = $"01/01/{UsuarioActual.Empresa.EjercicioActual.ToString}"
|
|
Dim FechaF = $"31/12/{UsuarioActual.Empresa.EjercicioActual.ToString}"
|
|
TxtFechaComprometido.Text = FechaI
|
|
RVFechaComprometido.MinimumValue = FechaI
|
|
RVFechaComprometido.MaximumValue = FechaF
|
|
CEFechaComprometido.StartDate = FechaI.ToDate
|
|
CEFechaComprometido.EndDate = FechaF.ToDate
|
|
|
|
CargaPresupuestos()
|
|
|
|
CargaMeta()
|
|
TxtImporte.Enabled = False
|
|
CreaDTDetalles()
|
|
BtnAgregar.Enabled = False
|
|
|
|
'CargaMetaPagar()
|
|
'TxtImportePagar.Enabled = False
|
|
'CreaDTDetallesPagar()
|
|
'BtnAgregarPagar.Enabled = False
|
|
|
|
LtEjercicio.Text = UsuarioActual.Empresa.EjercicioActual.ToString
|
|
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaPresupuestos()
|
|
Dim AC As New ClsAC
|
|
|
|
If AC.GetPresupuestoEgresos(-1, True, UsuarioActual.Empresa.EjercicioActual, UsuarioActual.CveEmpresa) Then
|
|
DtPresupuestos = AC.DtResultados.Copy
|
|
Else
|
|
Alert("Ocurrio un error al cargar los Presupuestos. Por favor vuelva a cargar la página", TipoMensaje.MsgError)
|
|
End If
|
|
AC.Dispose()
|
|
|
|
If Opc.ToUpper = "NOM" Then
|
|
DtPresupuestos = DtPresupuestos.FiltraParametros("CodigoCOG like '1%'")
|
|
Else
|
|
DtPresupuestos = DtPresupuestos.FiltraParametros("NOT CodigoCOG like '1%'")
|
|
End If
|
|
|
|
End Sub
|
|
|
|
|
|
|
|
#Region "C O M P R O M E T E R"
|
|
|
|
#Region "CARGA COMBOS EN CASCADA"
|
|
Private Sub CargaMeta()
|
|
DdlMeta.DataSource = DtPresupuestos.FiltraParametros("", DistinctColumns:={"CveProgramaOperativo", "ProgramaOperativo"})
|
|
DdlMeta.DataBind()
|
|
DdlMeta.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End Sub
|
|
Protected Sub CargaUnidadAdministrativa(sender As Object, e As EventArgs)
|
|
DdlUnidadAdministrativa.Items.Clear()
|
|
DdlFuenteFinanciamiento.Items.Clear()
|
|
DdlClasificacionOG.Items.Clear()
|
|
DdlTipoGasto.Items.Clear()
|
|
LtDisponible.Text = "$"
|
|
TxtImporte.Enabled = False
|
|
If DdlMeta.SelectedValue.ToEntero > 0 Then
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0}", DdlMeta.SelectedValue.ToString)
|
|
|
|
DdlUnidadAdministrativa.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", DistinctColumns:={"CveUnidadAdministrativa", "UnidadAdministrativa"})
|
|
DdlUnidadAdministrativa.DataBind()
|
|
DdlUnidadAdministrativa.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End If
|
|
End Sub
|
|
Protected Sub CargaFuenteFinanciamiento(sender As Object, e As EventArgs)
|
|
DdlFuenteFinanciamiento.Items.Clear()
|
|
DdlClasificacionOG.Items.Clear()
|
|
DdlTipoGasto.Items.Clear()
|
|
LtDisponible.Text = "$"
|
|
TxtImporte.Enabled = False
|
|
If DdlUnidadAdministrativa.SelectedValue.ToEntero > 0 Then
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1}", DdlMeta.SelectedValue.ToString, DdlUnidadAdministrativa.SelectedValue.ToString)
|
|
|
|
DdlFuenteFinanciamiento.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", DistinctColumns:={"CveFuenteFinanciamiento", "FuenteFinanciamiento"})
|
|
DdlFuenteFinanciamiento.DataBind()
|
|
DdlFuenteFinanciamiento.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End If
|
|
End Sub
|
|
Protected Sub CargaClasificacionOG(sender As Object, e As EventArgs)
|
|
DdlClasificacionOG.Items.Clear()
|
|
DdlTipoGasto.Items.Clear()
|
|
LtDisponible.Text = "$"
|
|
TxtImporte.Enabled = False
|
|
If DdlFuenteFinanciamiento.SelectedValue.ToEntero > 0 Then
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1} and CveFuenteFinanciamiento= {2}", DdlMeta.SelectedValue.ToString, DdlUnidadAdministrativa.SelectedValue.ToString, DdlFuenteFinanciamiento.SelectedValue.ToString)
|
|
|
|
DdlClasificacionOG.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", "CodigoClasificacion", {"CveClasificacion", "CodigoClasificacion"})
|
|
DdlClasificacionOG.DataBind()
|
|
DdlClasificacionOG.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End If
|
|
End Sub
|
|
Protected Sub CargaTipoGasto(sender As Object, e As EventArgs)
|
|
DdlTipoGasto.Items.Clear()
|
|
LtDisponible.Text = "$"
|
|
TxtImporte.Enabled = False
|
|
If DdlClasificacionOG.SelectedValue.ToEntero > 0 Then
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1} and CveFuenteFinanciamiento= {2} and CveClasificacion= {3}", DdlMeta.SelectedValue.ToString, DdlUnidadAdministrativa.SelectedValue.ToString, DdlFuenteFinanciamiento.SelectedValue.ToString, DdlClasificacionOG.SelectedValue.ToString)
|
|
|
|
DdlTipoGasto.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", DistinctColumns:={"CveTipoGasto", "TipoGasto"})
|
|
DdlTipoGasto.DataBind()
|
|
DdlTipoGasto.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End If
|
|
End Sub
|
|
Protected Sub CargaDisponible(sender As Object, e As EventArgs)
|
|
CargaDisponible()
|
|
End Sub
|
|
Protected Sub CargaDisponible()
|
|
Dim ContPaq As New ClsContPAQi(UsuarioActual.Empresa)
|
|
Dim Filtro As New StringBuilder
|
|
Dim disponible As Double
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1} and CveFuenteFinanciamiento= {2} and CveClasificacion= {3} and CveTipoGasto= {4}", DdlMeta.SelectedValue.ToString, DdlUnidadAdministrativa.SelectedValue.ToString, DdlFuenteFinanciamiento.SelectedValue.ToString, DdlClasificacionOG.SelectedValue.ToString, DdlTipoGasto.SelectedValue.ToString)
|
|
|
|
For Each dr As DataRow In DtPresupuestos.FiltraParametros(Filtro.ToString).Rows
|
|
disponible = ContPaq.GetSaldoCuenta(dr("IdCuentaPorEjercer").ToString.ToEntero, 0, UsuarioActual.Empresa.EjercicioActual)
|
|
HdnCuentaPorEjercer.Value = dr("IdCuentaPorEjercer").ToString
|
|
HdnCuentaComprometido.Value = dr("IdCuentaComprometido").ToString
|
|
Next
|
|
|
|
Filtro.Clear()
|
|
Filtro.AppendFormat("IdCuentaPorEjercer= {0}", HdnCuentaPorEjercer.Value)
|
|
For Each dr As DataRow In DtDetalle.FiltraParametros(Filtro.ToString).Rows
|
|
disponible -= dr("Importe").ToString.ToDouble
|
|
Next
|
|
|
|
If disponible <> 0 Then
|
|
TxtImporte.Enabled = True
|
|
BtnAgregar.Enabled = True
|
|
End If
|
|
LtDisponible.Text = disponible.FormatoNumero()
|
|
'UpAddComprometer.Update()
|
|
ContPaq.Dispose()
|
|
End Sub
|
|
#End Region
|
|
|
|
Protected Sub BtnAgregar_click(sender As Object, e As EventArgs)
|
|
If DtDetalle IsNot Nothing Then
|
|
If LtDisponible.Text.ToDouble >= TxtImporte.Text.ToDouble Then
|
|
Dim dr As DataRow = DtDetalle.NewRow
|
|
dr("Meta") = DdlMeta.SelectedItem.ToString
|
|
dr("UnidadAdministrativa") = DdlUnidadAdministrativa.SelectedItem.ToString
|
|
dr("FuenteFinanciamiento") = DdlFuenteFinanciamiento.SelectedItem.ToString
|
|
dr("ClasificadorOG") = DdlClasificacionOG.SelectedItem.ToString
|
|
dr("TipoGasto") = DdlTipoGasto.SelectedItem.ToString
|
|
dr("Disponible") = LtDisponible.Text.ToDouble
|
|
dr("Importe") = TxtImporte.Text.ToDouble
|
|
dr("IdCuentaPorEjercer") = HdnCuentaPorEjercer.Value
|
|
dr("IdCuentaComprometido") = HdnCuentaComprometido.Value
|
|
DtDetalle.Rows.Add(dr)
|
|
|
|
CargaDatosComprometer()
|
|
Dim total As Double = LbTotal.Text.ToDouble
|
|
LbTotal.Text = (total + dr("Importe").ToString.ToDouble).ToString.FormatoNumero
|
|
|
|
DdlMeta.SelectedIndex = -1
|
|
DdlUnidadAdministrativa.Items.Clear()
|
|
DdlFuenteFinanciamiento.Items.Clear()
|
|
DdlClasificacionOG.Items.Clear()
|
|
DdlTipoGasto.Items.Clear()
|
|
LtDisponible.Text = "$"
|
|
TxtImporte.Text = ""
|
|
TxtImporte.Enabled = False
|
|
BtnAgregar.Enabled = False
|
|
'UpAddComprometer.Update()
|
|
Else
|
|
Alert("El importe supera el capital disponible. Por favor de revisar y modificar", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End If
|
|
End Sub
|
|
Protected Sub BtnGuardar_click(sender As Object, e As EventArgs)
|
|
If DtDetalle.Rows.Count > 0 Then
|
|
Dim TieneError As Boolean = False
|
|
Dim IDPoliza As Integer
|
|
Dim Conta As New ClsContPAQi(UsuarioActual.Empresa)
|
|
Conta.IniciaTransacSQL()
|
|
Dim Total As Double = LbTotal.Text.ToDouble
|
|
|
|
IDPoliza = Conta.AddPoliza(4, TxtConcepto.Text.Trim, Total, Total, UsuarioActual.CveUsuario, TxtFechaComprometido.Text.ToDate)
|
|
If IDPoliza > 0 Then
|
|
|
|
For Each dr As DataRow In DtDetalle.Rows
|
|
Dim Importe = dr("Importe").ToString.ToDouble
|
|
|
|
If Conta.AddMovimiento(IDPoliza, dr("IdCuentaPorEjercer").ToString.ToEntero, True, Importe, TxtConcepto.Text.Trim, TxtConcepto.Text.Trim, 0, TxtFechaComprometido.Text.ToDate, "") Then
|
|
'actualizo el idcuenta del presupuesto
|
|
If Not Conta.AddMovimiento(IDPoliza, dr("IdCuentaComprometido").ToString.ToEntero, False, Importe, TxtConcepto.Text.Trim, TxtConcepto.Text.Trim, 0, TxtFechaComprometido.Text.ToDate, "") Then
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
Else
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
|
|
Next
|
|
Else
|
|
TieneError = True
|
|
End If
|
|
|
|
If Not TieneError Then
|
|
Conta.Commit()
|
|
GvD.DataBind()
|
|
UpComprometer.Update()
|
|
|
|
DdlMetaPagar.SelectedValue = "-1"
|
|
CargaUnidadAdministrativaPagar(DdlMetaPagar, EventArgs.Empty)
|
|
UpPagar.Update()
|
|
|
|
DtDetalle.Rows.Clear()
|
|
LbTotal.Text = "0.00"
|
|
|
|
|
|
Dim Descargas As New StringBuilder
|
|
If IDPoliza > 0 Then Descargas.AppendFormat("<a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}""> Poliza</a>", IDPoliza)
|
|
|
|
Dim Msg As String = String.Format("<br />La poliza se comprometio correctamente.<br /><br /><br />Descargar: {0}", Descargas.ToString) 'TipoMensaje.MsgInformacion
|
|
|
|
Msg.Alert(Msg, TipoMensaje.MsgInformacion)
|
|
Else
|
|
Conta.RollBack()
|
|
End If
|
|
Conta.Dispose()
|
|
Else
|
|
Alert("No hay registros que guardar", TipoMensaje.MsgInformacion)
|
|
End If
|
|
End Sub
|
|
Protected Sub GvD_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvD.RowDeleting
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("IdCuentaPorEjercer= {0} and Importe= {1}", GvD.Rows(e.RowIndex).DataKey("IdCuentaPorEjercer").ToString.ToEntero, GvD.Rows(e.RowIndex).DataKey("Importe").ToString.ToDouble)
|
|
Dim dr As DataRow() = DtDetalle.Select(Filtro.ToString)
|
|
Dim total As Double = LbTotal.Text.ToDouble
|
|
LbTotal.Text = (total - dr(0).Item("Importe").ToString.ToDouble).ToString.FormatoNumero
|
|
dr(0).Delete()
|
|
|
|
If Not LtDisponible.Text = "$" Then
|
|
CargaDisponible()
|
|
End If
|
|
CargaDatosComprometer()
|
|
End Sub
|
|
Private Sub CreaDTDetalles()
|
|
DtDetalle = New DataTable
|
|
DtDetalle.Columns.Add("Meta", GetType(String))
|
|
DtDetalle.Columns.Add("UnidadAdministrativa", GetType(String))
|
|
DtDetalle.Columns.Add("FuenteFinanciamiento", GetType(String))
|
|
DtDetalle.Columns.Add("ClasificadorOG", GetType(String))
|
|
DtDetalle.Columns.Add("CodigoClasificacion", GetType(String))
|
|
DtDetalle.Columns.Add("TipoGasto", GetType(String))
|
|
DtDetalle.Columns.Add("Disponible", GetType(Double))
|
|
DtDetalle.Columns.Add("Importe", GetType(Double))
|
|
|
|
DtDetalle.Columns.Add("IdCuentaPorEjercer", GetType(Integer))
|
|
DtDetalle.Columns.Add("IdCuentaComprometido", GetType(Integer))
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
#Region "O R D E N A M I E N T O C O M P R O M E T E R"
|
|
Private Sub CargaGridComprometer(Orden As String)
|
|
If Orden <> String.Empty Then
|
|
Dim DV As New DataView(CType(ViewState("DTComprometer"), DataTable), "", Orden, DataViewRowState.CurrentRows)
|
|
GvD.DataSource = DV.ToTable()
|
|
DV.Dispose()
|
|
Else
|
|
GvD.DataSource = CType(ViewState("DTComprometer"), DataTable)
|
|
End If
|
|
GvD.DataBind()
|
|
End Sub
|
|
Protected Sub CargaDatosComprometer()
|
|
ViewState("DTComprometer") = DtDetalle
|
|
|
|
If ViewState("Orden").ToString() <> String.Empty Then
|
|
CargaGridComprometer(ViewState("Orden").ToString())
|
|
Else
|
|
CargaGridComprometer("")
|
|
End If
|
|
|
|
UpComprometer.Update()
|
|
End Sub
|
|
Public Sub BtnAgregarComprometer_Click(sender As Object, e As EventArgs)
|
|
DdlMeta.SelectedIndex = -1
|
|
DdlUnidadAdministrativa.Items.Clear()
|
|
DdlFuenteFinanciamiento.Items.Clear()
|
|
DdlClasificacionOG.Items.Clear()
|
|
DdlTipoGasto.Items.Clear()
|
|
LtDisponible.Text = "$"
|
|
TxtImporte.Text = ""
|
|
TxtImporte.Enabled = False
|
|
BtnAgregar.Enabled = False
|
|
|
|
'UpAddComprometer.Update()
|
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarComprometer"))
|
|
End Sub
|
|
#End Region
|
|
#End Region
|
|
|
|
|
|
#Region "P A G A R"
|
|
|
|
#Region "CARGA COMBOS EN CASCADA"
|
|
Private Sub CargaMetaPagar()
|
|
DdlMetaPagar.DataSource = DtPresupuestos.FiltraParametros("", DistinctColumns:={"CveProgramaOperativo", "ProgramaOperativo"})
|
|
DdlMetaPagar.DataBind()
|
|
DdlMetaPagar.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End Sub
|
|
Protected Sub CargaUnidadAdministrativaPagar(sender As Object, e As EventArgs)
|
|
DdlUnidadAdministrativaPagar.Items.Clear()
|
|
DdlFuenteFinanciamientoPagar.Items.Clear()
|
|
DdlClasificacionOGPagar.Items.Clear()
|
|
DdlTipoGastoPagar.Items.Clear()
|
|
LtDisponiblePagar.Text = "$"
|
|
TxtImportePagar.Enabled = False
|
|
If DdlMetaPagar.SelectedValue.ToEntero > 0 Then
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0}", DdlMetaPagar.SelectedValue.ToString)
|
|
|
|
DdlUnidadAdministrativaPagar.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", DistinctColumns:={"CveUnidadAdministrativa", "UnidadAdministrativa"})
|
|
DdlUnidadAdministrativaPagar.DataBind()
|
|
DdlUnidadAdministrativaPagar.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End If
|
|
End Sub
|
|
Protected Sub CargaFuenteFinanciamientoPagar(sender As Object, e As EventArgs)
|
|
DdlFuenteFinanciamientoPagar.Items.Clear()
|
|
DdlClasificacionOGPagar.Items.Clear()
|
|
DdlTipoGastoPagar.Items.Clear()
|
|
LtDisponiblePagar.Text = "$"
|
|
TxtImportePagar.Enabled = False
|
|
If DdlUnidadAdministrativaPagar.SelectedValue.ToEntero > 0 Then
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1}", DdlMetaPagar.SelectedValue.ToString, DdlUnidadAdministrativaPagar.SelectedValue.ToString)
|
|
|
|
DdlFuenteFinanciamientoPagar.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", DistinctColumns:={"CveFuenteFinanciamiento", "FuenteFinanciamiento"})
|
|
DdlFuenteFinanciamientoPagar.DataBind()
|
|
DdlFuenteFinanciamientoPagar.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End If
|
|
End Sub
|
|
Protected Sub CargaClasificacionOGPagar(sender As Object, e As EventArgs)
|
|
DdlClasificacionOGPagar.Items.Clear()
|
|
DdlTipoGastoPagar.Items.Clear()
|
|
LtDisponiblePagar.Text = "$"
|
|
TxtImportePagar.Enabled = False
|
|
If DdlFuenteFinanciamientoPagar.SelectedValue.ToEntero > 0 Then
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1} and CveFuenteFinanciamiento= {2}", DdlMetaPagar.SelectedValue.ToString, DdlUnidadAdministrativaPagar.SelectedValue.ToString, DdlFuenteFinanciamientoPagar.SelectedValue.ToString)
|
|
|
|
DdlClasificacionOGPagar.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", "CodigoClasificacion", {"CveClasificacion", "CodigoClasificacion"})
|
|
DdlClasificacionOGPagar.DataBind()
|
|
DdlClasificacionOGPagar.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End If
|
|
End Sub
|
|
Protected Sub CargaTipoGastoPagar(sender As Object, e As EventArgs)
|
|
DdlTipoGastoPagar.Items.Clear()
|
|
LtDisponiblePagar.Text = "$"
|
|
TxtImportePagar.Enabled = False
|
|
If DdlClasificacionOGPagar.SelectedValue.ToEntero > 0 Then
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1} and CveFuenteFinanciamiento= {2} and CveClasificacion= {3}", DdlMetaPagar.SelectedValue.ToString, DdlUnidadAdministrativaPagar.SelectedValue.ToString, DdlFuenteFinanciamientoPagar.SelectedValue.ToString, DdlClasificacionOGPagar.SelectedValue.ToString)
|
|
|
|
DdlTipoGastoPagar.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", DistinctColumns:={"CveTipoGasto", "TipoGasto"})
|
|
DdlTipoGastoPagar.DataBind()
|
|
DdlTipoGastoPagar.Items.Insert(0, New ListItem("Seleccionar", "-1"))
|
|
End If
|
|
End Sub
|
|
Protected Sub CargaDisponiblePagar(sender As Object, e As EventArgs)
|
|
CargaDisponiblePagar()
|
|
End Sub
|
|
Protected Sub CargaDisponiblePagar()
|
|
Dim ContPaq As New ClsContPAQi(UsuarioActual.Empresa)
|
|
Dim Filtro As New StringBuilder
|
|
Dim disponible As Double
|
|
Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1} and CveFuenteFinanciamiento= {2} and CveClasificacion= {3} and CveTipoGasto= {4}", DdlMetaPagar.SelectedValue.ToString, DdlUnidadAdministrativaPagar.SelectedValue.ToString, DdlFuenteFinanciamientoPagar.SelectedValue.ToString, DdlClasificacionOGPagar.SelectedValue.ToString, DdlTipoGastoPagar.SelectedValue.ToString)
|
|
|
|
For Each dr As DataRow In DtPresupuestos.FiltraParametros(Filtro.ToString).Rows
|
|
disponible = ContPaq.GetSaldoCuenta(dr("IdCuentaComprometido").ToString.ToEntero, 0, UsuarioActual.Empresa.EjercicioActual)
|
|
HdnCuentaComprometidoPagar.Value = dr("IdCuentaComprometido").ToString
|
|
HdnCuentaDevengadoPagar.Value = dr("IdCuentaDevengado").ToString
|
|
HdnCuentaEjercidoPagar.Value = dr("IdCuentaEjercido").ToString
|
|
HdnCuentaPagadoPagar.Value = dr("IdCuentaPagado").ToString
|
|
Next
|
|
|
|
Filtro.Clear()
|
|
Filtro.AppendFormat("IdCuentaComprometido = {0}", HdnCuentaComprometidoPagar.Value)
|
|
For Each dr As DataRow In DtDetallePagar.FiltraParametros(Filtro.ToString).Rows
|
|
disponible -= dr("Importe").ToString.ToDouble
|
|
Next
|
|
|
|
If disponible <> 0 Then
|
|
TxtImportePagar.Enabled = True
|
|
BtnAgregarPagar.Enabled = True
|
|
End If
|
|
LtDisponiblePagar.Text = disponible.FormatoNumero()
|
|
ContPaq.Dispose()
|
|
End Sub
|
|
#End Region
|
|
|
|
Protected Sub BtnAgregarPagar_click(sender As Object, e As EventArgs)
|
|
If DtDetallePagar IsNot Nothing Then
|
|
If LtDisponiblePagar.Text.ToDouble >= TxtImportePagar.Text.ToDouble Then
|
|
Dim dr As DataRow = DtDetallePagar.NewRow
|
|
dr("Meta") = DdlMetaPagar.SelectedItem.ToString
|
|
dr("UnidadAdministrativa") = DdlUnidadAdministrativaPagar.SelectedItem.ToString
|
|
dr("FuenteFinanciamiento") = DdlFuenteFinanciamientoPagar.SelectedItem.ToString
|
|
dr("ClasificadorOG") = DdlClasificacionOGPagar.SelectedItem.ToString
|
|
dr("TipoGasto") = DdlTipoGastoPagar.SelectedItem.ToString
|
|
dr("Disponible") = LtDisponiblePagar.Text.ToDouble
|
|
dr("Importe") = TxtImportePagar.Text.ToDouble
|
|
|
|
dr("IdCuentaComprometido") = HdnCuentaComprometidoPagar.Value
|
|
dr("IdCuentaDevengado") = HdnCuentaDevengadoPagar.Value
|
|
dr("IdCuentaEjercido") = HdnCuentaEjercidoPagar.Value
|
|
dr("IdCuentaPagado") = HdnCuentaPagadoPagar.Value
|
|
|
|
DtDetallePagar.Rows.Add(dr)
|
|
CargaDatosPagar()
|
|
Dim total As Double = LbTotalPagar.Text.ToDouble
|
|
LbTotalPagar.Text = (total + dr("Importe").ToString.ToDouble).ToString.FormatoNumero
|
|
|
|
DdlMetaPagar.SelectedIndex = -1
|
|
DdlUnidadAdministrativaPagar.Items.Clear()
|
|
DdlFuenteFinanciamientoPagar.Items.Clear()
|
|
DdlClasificacionOGPagar.Items.Clear()
|
|
DdlTipoGastoPagar.Items.Clear()
|
|
LtDisponiblePagar.Text = "$"
|
|
TxtImportePagar.Text = ""
|
|
TxtImportePagar.Enabled = False
|
|
BtnAgregarPagar.Enabled = False
|
|
Else
|
|
Alert("El importe supera el capital disponible. Por favor de revisar y modificar", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
End If
|
|
End Sub
|
|
Protected Sub BtnGuardarPagar_click(sender As Object, e As EventArgs)
|
|
If DtDetallePagar.Rows.Count > 0 Then
|
|
Dim TieneError As Boolean = False
|
|
Dim IDPoliza As Integer
|
|
Dim Conta As New ClsContPAQi(UsuarioActual.Empresa)
|
|
Conta.IniciaTransacSQL()
|
|
Dim Total As Double = LbTotalPagar.Text.ToDouble
|
|
|
|
IDPoliza = Conta.AddPoliza(4, "Devengado-Ejercido-Pagado", Total, Total, UsuarioActual.CveUsuario, NowADS())
|
|
If IDPoliza > 0 Then
|
|
|
|
For Each dr As DataRow In DtDetallePagar.Rows
|
|
Dim Importe = dr("Importe").ToString.ToDouble
|
|
|
|
'Devengado
|
|
If Conta.AddMovimiento(IDPoliza, dr("IdCuentaComprometido").ToString.ToEntero, True, Importe, "", "", 0, String.Format("01/01/{0}", NowADS().Year).ToDate, "") Then
|
|
If Not Conta.AddMovimiento(IDPoliza, dr("IdCuentaDevengado").ToString.ToEntero, False, Importe, "", "", 0, String.Format("01/01/{0}", NowADS().Year).ToDate, "") Then
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
Else
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
|
|
'Ejercido
|
|
If Conta.AddMovimiento(IDPoliza, dr("IdCuentaDevengado").ToString.ToEntero, True, Importe, "", "", 0, NowADS(), "") Then
|
|
If Not Conta.AddMovimiento(IDPoliza, dr("IdCuentaEjercido").ToString.ToEntero, False, Importe, "", "", 0, NowADS(), "") Then
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
Else
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
|
|
'Pagado
|
|
If Conta.AddMovimiento(IDPoliza, dr("IdCuentaEjercido").ToString.ToEntero, True, Importe, "", "", 0, NowADS(), "") Then
|
|
If Not Conta.AddMovimiento(IDPoliza, dr("IdCuentaPagado").ToString.ToEntero, False, Importe, "", "", 0, NowADS(), "") Then
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
Else
|
|
TieneError = True
|
|
Exit For
|
|
End If
|
|
|
|
Next
|
|
|
|
Else
|
|
TieneError = True
|
|
End If
|
|
|
|
If Not TieneError Then
|
|
Conta.Commit()
|
|
GvDPagar.DataBind()
|
|
UpPagar.Update()
|
|
DtDetallePagar.Rows.Clear()
|
|
LbTotalPagar.Text = "0.00"
|
|
|
|
|
|
Dim Descargas As New StringBuilder
|
|
If IDPoliza > 0 Then Descargas.AppendFormat("<a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}""> Poliza</a>", IDPoliza)
|
|
|
|
Dim Msg As String = String.Format("<br />La poliza se pago correctamente.<br /><br /><br />Descargar: {0}", Descargas.ToString) 'TipoMensaje.MsgInformacion
|
|
|
|
Msg.Alert(Msg, TipoMensaje.MsgInformacion)
|
|
Else
|
|
Conta.RollBack()
|
|
End If
|
|
Conta.Dispose()
|
|
Else
|
|
Alert("No hay registros que guardar", TipoMensaje.MsgInformacion)
|
|
End If
|
|
End Sub
|
|
Protected Sub GvDPagar_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvDPagar.RowDeleting
|
|
Dim Filtro As New StringBuilder
|
|
Filtro.AppendFormat("IdCuentaEjercido= {0} and Importe= {1}", GvDPagar.Rows(e.RowIndex).DataKey("IdCuentaEjercido").ToString.ToEntero, GvDPagar.Rows(e.RowIndex).DataKey("Importe").ToString.ToDouble)
|
|
Dim dr As DataRow() = DtDetallePagar.Select(Filtro.ToString)
|
|
Dim total As Double = LbTotalPagar.Text.ToDouble
|
|
LbTotalPagar.Text = (total - dr(0).Item("Importe").ToString.ToDouble).ToString.FormatoNumero
|
|
dr(0).Delete()
|
|
|
|
If Not LtDisponiblePagar.Text = "$" Then
|
|
CargaDisponiblePagar()
|
|
End If
|
|
CargaDatosPagar()
|
|
End Sub
|
|
Private Sub CreaDTDetallesPagar()
|
|
DtDetallePagar = New DataTable
|
|
DtDetallePagar.Columns.Add("Meta", GetType(String))
|
|
DtDetallePagar.Columns.Add("UnidadAdministrativa", GetType(String))
|
|
DtDetallePagar.Columns.Add("FuenteFinanciamiento", GetType(String))
|
|
DtDetallePagar.Columns.Add("ClasificadorOG", GetType(String))
|
|
DtDetallePagar.Columns.Add("CodigoClasificacion", GetType(String))
|
|
DtDetallePagar.Columns.Add("TipoGasto", GetType(String))
|
|
DtDetallePagar.Columns.Add("Disponible", GetType(Double))
|
|
DtDetallePagar.Columns.Add("Importe", GetType(Double))
|
|
|
|
DtDetallePagar.Columns.Add("IdCuentaComprometido", GetType(Integer)) '8
|
|
DtDetallePagar.Columns.Add("IdCuentaDevengado", GetType(Integer)) '9
|
|
DtDetallePagar.Columns.Add("IdCuentaEjercido", GetType(Integer)) '10
|
|
DtDetallePagar.Columns.Add("IdCuentaPagado", GetType(Integer)) '11
|
|
End Sub
|
|
Protected Sub CargaGridPagar()
|
|
GvDPagar.DataSource = DtDetallePagar
|
|
GvDPagar.DataBind()
|
|
UpPagar.Update()
|
|
End Sub
|
|
|
|
|
|
#Region "O R D E N A M I E N T O P A G A R"
|
|
Private Sub CargaGridPagar(Orden As String)
|
|
If Orden <> String.Empty Then
|
|
Dim DV As New DataView(CType(ViewState("DTPagar"), DataTable), "", Orden, DataViewRowState.CurrentRows)
|
|
GvDPagar.DataSource = DV.ToTable()
|
|
DV.Dispose()
|
|
Else
|
|
GvDPagar.DataSource = CType(ViewState("DTPagar"), DataTable)
|
|
End If
|
|
GvDPagar.DataBind()
|
|
End Sub
|
|
Protected Sub CargaDatosPagar()
|
|
ViewState("DTPagar") = DtDetallePagar
|
|
|
|
If ViewState("OrdenPagar").ToString() <> String.Empty Then
|
|
CargaGridPagar(ViewState("OrdenPagar").ToString())
|
|
Else
|
|
CargaGridPagar("")
|
|
End If
|
|
|
|
UpPagar.Update()
|
|
End Sub
|
|
Public Sub BtnAddPagar_Click(sender As Object, e As EventArgs)
|
|
DdlMetaPagar.SelectedIndex = -1
|
|
DdlUnidadAdministrativaPagar.Items.Clear()
|
|
DdlFuenteFinanciamientoPagar.Items.Clear()
|
|
DdlClasificacionOGPagar.Items.Clear()
|
|
DdlTipoGastoPagar.Items.Clear()
|
|
LtDisponiblePagar.Text = "$"
|
|
TxtImportePagar.Text = ""
|
|
TxtImportePagar.Enabled = False
|
|
BtnAgregarPagar.Enabled = False
|
|
|
|
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarPagar"))
|
|
End Sub
|
|
|
|
#End Region
|
|
|
|
|
|
#End Region
|
|
|
|
|
|
|
|
|
|
End Class
|