Option Explicit On Option Strict On Imports System.Data Imports Extensiones Imports System.Activities.Statements Partial Class AC_RegNomina 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 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 Opc = "Nom" 'If Opc = "Nom" Then ' LbTitulo.Text = "Nómina" 'Else ' LbTitulo.Text = "Comprometido Otros" 'End If TxtFecha.Text = Now.ToShortDateString CargaPresupuestos() CargaMeta() TxtImporte.Enabled = False CreaDTDetalles() BtnAgregar.Enabled = False LtEjercicio.Text = UsuarioActual.Empresa.EjercicioActual.ToString End If 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("CvePresupuestoEgreso", GetType(Integer)) DtDetalle.Columns.Add("IdCuentaPorEjercer", GetType(Integer)) DtDetalle.Columns.Add("IdCuentaComprometido", GetType(Integer)) DtDetalle.Columns.Add("IdCuentaDevengado", GetType(Integer)) DtDetalle.Columns.Add("IdCuentaEjercido", GetType(Integer)) DtDetalle.Columns.Add("IdCuentaPagado", GetType(Integer)) End Sub Protected Sub CargaDatosDetalles() GvD.DataSource = DtDetalle GvD.DataBind() UPPDetalle.Update() 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 = "Nom" Then DtPresupuestos = DtPresupuestos.FiltraParametros("CodigoCOG like '1%'") Else DtPresupuestos = DtPresupuestos.FiltraParametros("NOT CodigoCOG like '1%'") End If End Sub #Region "CARGA COMBOS EN CASCADA" Private Sub CargaMeta() CboMeta.DataSource = DtPresupuestos.FiltraParametros("", DistinctColumns:={"CveProgramaOperativo", "ProgramaOperativo"}) CboMeta.DataBind() CboMeta.Items.Insert(0, New ListItem("Seleccionar", "-1")) End Sub Protected Sub CargaUnidadAdministrativa(sender As Object, e As EventArgs) CboUnidadAdministrativa.Items.Clear() CboFuenteFinanciamiento.Items.Clear() CboClasificacionOG.Items.Clear() CboTipoGasto.Items.Clear() LtDisponible.Text = "$" TxtImporte.Enabled = False If CboMeta.SelectedValue.ToEntero > 0 Then Dim Filtro As New StringBuilder Filtro.AppendFormat("CveProgramaOperativo= {0}", CboMeta.SelectedValue.ToString) CboUnidadAdministrativa.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", DistinctColumns:={"CveUnidadAdministrativa", "UnidadAdministrativa"}) CboUnidadAdministrativa.DataBind() CboUnidadAdministrativa.Items.Insert(0, New ListItem("Seleccionar", "-1")) End If End Sub Protected Sub CargaFuenteFinanciamiento(sender As Object, e As EventArgs) CboFuenteFinanciamiento.Items.Clear() CboClasificacionOG.Items.Clear() CboTipoGasto.Items.Clear() LtDisponible.Text = "$" TxtImporte.Enabled = False If CboUnidadAdministrativa.SelectedValue.ToEntero > 0 Then Dim Filtro As New StringBuilder Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1}", CboMeta.SelectedValue.ToString, CboUnidadAdministrativa.SelectedValue.ToString) CboFuenteFinanciamiento.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", DistinctColumns:={"CveFuenteFinanciamiento", "FuenteFinanciamiento"}) CboFuenteFinanciamiento.DataBind() CboFuenteFinanciamiento.Items.Insert(0, New ListItem("Seleccionar", "-1")) End If End Sub Protected Sub CargaClasificacionOG(sender As Object, e As EventArgs) CboClasificacionOG.Items.Clear() CboTipoGasto.Items.Clear() LtDisponible.Text = "$" TxtImporte.Enabled = False If CboFuenteFinanciamiento.SelectedValue.ToEntero > 0 Then Dim Filtro As New StringBuilder Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1} and CveFuenteFinanciamiento= {2}", CboMeta.SelectedValue.ToString, CboUnidadAdministrativa.SelectedValue.ToString, CboFuenteFinanciamiento.SelectedValue.ToString) CboClasificacionOG.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", "CodigoClasificacion", {"CveClasificacion", "CodigoClasificacion"}) CboClasificacionOG.DataBind() CboClasificacionOG.Items.Insert(0, New ListItem("Seleccionar", "-1")) End If End Sub Protected Sub CargaTipoGasto(sender As Object, e As EventArgs) CboTipoGasto.Items.Clear() LtDisponible.Text = "$" TxtImporte.Enabled = False If CboClasificacionOG.SelectedValue.ToEntero > 0 Then Dim Filtro As New StringBuilder Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1} and CveFuenteFinanciamiento= {2} and CveClasificacion= {3}", CboMeta.SelectedValue.ToString, CboUnidadAdministrativa.SelectedValue.ToString, CboFuenteFinanciamiento.SelectedValue.ToString, CboClasificacionOG.SelectedValue.ToString) CboTipoGasto.DataSource = (DtPresupuestos.FiltraParametros(Filtro.ToString)).FiltraParametros("", DistinctColumns:={"CveTipoGasto", "TipoGasto"}) CboTipoGasto.DataBind() CboTipoGasto.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 Dim ColumnaSaldo As String = "IdCuentaComprometido" Filtro.AppendFormat("CveProgramaOperativo= {0} and CveUnidadAdministrativa= {1} and CveFuenteFinanciamiento= {2} and CveClasificacion= {3} and CveTipoGasto= {4}", CboMeta.SelectedValue.ToString, CboUnidadAdministrativa.SelectedValue.ToString, CboFuenteFinanciamiento.SelectedValue.ToString, CboClasificacionOG.SelectedValue.ToString, CboTipoGasto.SelectedValue.ToString) 'cuando se esta pagando al personal, toma el saldo del devengado, proque ya esta comprometido If RBLPago.SelectedValue = "4" Then ColumnaSaldo = "IdCuentaDevengado" For Each dr As DataRow In DtPresupuestos.FiltraParametros(Filtro.ToString).Rows disponible = ContPaq.GetSaldoCuenta(dr(ColumnaSaldo).ToString.ToEntero, 0, TxtFecha.Text.ToDate.Year) HdnCuentaPorEjercer.Value = dr("IdCuentaPorEjercer").ToString HdnCuentaComprometido.Value = dr("IdCuentaComprometido").ToString HdnCuentaDevengado.Value = dr("IdCuentaDevengado").ToString HdnCuentaEjercido.Value = dr("IdCuentaEjercido").ToString HdnCuentaPagado.Value = dr("IdCuentaPagado").ToString HdnCvePresupuestoEgreso.Value = dr("CvePresupuestoEgreso").ToString Next Filtro.Clear() Filtro.AppendFormat("IdCuentaComprometido= {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() 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") = CboMeta.SelectedItem.ToString dr("UnidadAdministrativa") = CboUnidadAdministrativa.SelectedItem.ToString dr("FuenteFinanciamiento") = CboFuenteFinanciamiento.SelectedItem.ToString dr("ClasificadorOG") = CboClasificacionOG.SelectedItem.ToString dr("TipoGasto") = CboTipoGasto.SelectedItem.ToString dr("Disponible") = LtDisponible.Text.ToDouble dr("Importe") = TxtImporte.Text.ToDouble dr("IdCuentaPorEjercer") = HdnCuentaPorEjercer.Value dr("IdCuentaComprometido") = HdnCuentaComprometido.Value dr("IdCuentaDevengado") = HdnCuentaDevengado.Value dr("IdCuentaEjercido") = HdnCuentaEjercido.Value dr("IdCuentaPagado") = HdnCuentaPagado.Value dr("CvePresupuestoEgreso") = HdnCvePresupuestoEgreso.Value DtDetalle.Rows.Add(dr) CargaDatosDetalles() Dim total As Double = LbTotal.Text.ToDouble LbTotal.Text = (total + dr("Importe").ToString.ToDouble).ToString.FormatoNumero CboMeta.SelectedIndex = -1 CboUnidadAdministrativa.Items.Clear() CboFuenteFinanciamiento.Items.Clear() CboClasificacionOG.Items.Clear() CboTipoGasto.Items.Clear() LtDisponible.Text = "$" TxtImporte.Text = "" TxtImporte.Enabled = False BtnAgregar.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 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 CargaDatosDetalles() End Sub Private Sub RBLPago_SelectedIndexChanged(sender As Object, e As EventArgs) Handles RBLPago.SelectedIndexChanged Select Case RBLPago.SelectedValue Case "1" PnlNomina.Visible = True : PnlFiniquito.Visible = False ChkDevengar.Checked = True : ChkEjercer.Checked = True : ChkPagar.Checked = True ChkEjercer.Enabled = True : ChkPagar.Enabled = True tbGeneral.Visible = True Case "2" PnlNomina.Visible = False : PnlFiniquito.Visible = True ChkEjercer.Checked = False : ChkEjercer.Enabled = False ChkPagar.Checked = False : ChkPagar.Enabled = False ChkDevengar.Checked = True trGasto.Visible = True tbGeneral.Visible = True DdlNominaPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("IdCtaContPersonal > 0") DdlNominaPersonal.DataBind() TbIE.Visible = False Case "3", "4" PnlNomina.Visible = False : PnlFiniquito.Visible = True ChkDevengar.Checked = True : ChkEjercer.Checked = True : ChkPagar.Checked = True trGasto.Visible = False tbGeneral.Visible = False DdlTipoTransaccion.Items.Clear() DdlTipoTransaccion.DataSource = GlobalDTTipoTransacciones.FiltraParametros(String.Format("Tipo = '{0}'", If(RBLPago.SelectedValue = "3", "Ing", "Egs"))) DdlTipoTransaccion.DataBind() DdlNominaPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("IdCtaContPersonal > 0") DdlNominaPersonal.DataBind() DdlCuenta.Items.Clear() Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltraParametros("CveTipoCuenta <> 1") ' quito las cajas chicas DdlCuenta.DataSource = dt DdlCuenta.DataBind() TbIE.Visible = True If RBLPago.SelectedValue = "4" Then trGasto.Visible = True tbGeneral.Visible = True ChkDevengar.Checked = False : ChkDevengar.Enabled = False End If End Select End Sub Protected Sub DdlTipoTransaccion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoTransaccion.SelectedIndexChanged 'Dim valor As Integer = DirectCast(sender, DropDownList).SelectedValue.ToEntero 'Dim dr As DataRow = GlobalDTTipoTransacciones.FiltroPrimero(String.Format("CveTipoTransaccion = {0}", DdlTipoTransaccion.SelectedValue)) 'Egs o Ing Dim Folio As Long Dim Banco As New ClsBancos Folio = Banco.GetNextFolio(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero) Banco.Dispose() TxtFolio.Text = Folio.ToString End Sub Protected Sub DdlCuenta_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCuenta.SelectedIndexChanged 'si solo es de egreso el movimiento debe de generar el siguiente folio. Dim Folio As Long Dim Banco As New ClsBancos Folio = Banco.GetNextFolio(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero) Banco.Dispose() TxtFolio.Text = (Folio + 1).ToString End Sub Private Sub BtnGuardar_Click(sender As Object, e As EventArgs) Handles BtnGuardar.Click Dim Seleccion As String = RBLPago.SelectedValue If DtDetalle.Rows.Count = 0 And Seleccion.Contiene("1", "2") Then Alert("No hay registros que guardar", TipoMensaje.MsgInformacion) Exit Sub End If Dim TieneError As Boolean = False Dim MensajeError = "" Dim IDPoliza As Integer Dim objAC As New ClsContPAQi(UsuarioActual.Empresa) : objAC.IniciaTransacSQL() Dim ObjIE As ClsBancos = Nothing Dim Total As Decimal = DtDetalle.SUMD("Importe") Dim Fecha As Date = TxtFecha.Text.ToDate Dim Concepto As String = TxtConcepto.Text.Trim Dim IdCtaISPT As Integer = 640 Dim IdCtaCreditoSalario As Integer = 635 Dim IdCtaDevolucionISPT As Integer = 1745 Dim IdCtaMatriz As Integer Dim Importe As Double Dim MsgError As String = "" 'sumo la cantidad de esos movimientos 'If ChkEjercer.Checked Then Total += LbTotal.Text.ToDouble 'If ChkPagar.Checked Then Total += LbTotal.Text.ToDouble Dim CtaCliente As Integer = 634 ' Municipio de hermosillo Dim CvePresupuestoIngreso As Integer = 195 ' 2015: 12, 2016: 152, 2017: 160, 2018: 183 Dim CtaPuente As Integer = 1774 ' INGRESO RECAUDADO PARA NOMINA EN MUNICIPIO, fijo Dim CtaServiciosPersonales As Integer = 1778 ' 2111 -- fijo Dim IdCtaPersonal As Integer = 0 Dim IdCtaBancaria As Integer = 0 Dim CveIE As Integer = 0 If Seleccion.Contiene("2", "3", "4") Then Dim dr As DataRow = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CvePersonal = {0}", DdlNominaPersonal.SelectedValue)) If dr IsNot Nothing Then IdCtaPersonal = dr("IdCtaContPersonal").ToString.ToEntero End If End If If Seleccion.Contiene("3", "4") Then Dim dr As DataRow dr = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltroPrimero(String.Format("CveCuenta={0}", DdlCuenta.SelectedValue)) If dr IsNot Nothing Then 'DdlMoneda.SelectedValue = dr("CveMoneda").ToString IdCtaBancaria = dr("IdCtaContable").ToString.ToEntero End If End If Dim drt As DataRow IDPoliza = objAC.AddPoliza(3, TxtConcepto.Text.Trim, 0, 0, UsuarioActual.CveUsuario, Fecha) If IDPoliza > 0 Then For Each dr As DataRow In DtDetalle.Rows 'registro el movimiento contable Importe = dr("Importe").ToString.ToDouble Dim drp As DataRow = DtPresupuestos.FiltroPrimero(String.Format("CvePresupuestoEgreso = {0}", dr("CvePresupuestoEgreso"))) If ChkDevengar.Checked Then If drp IsNot Nothing Then IdCtaMatriz = drp("IdCuentaMatriz").ToString.ToEntero If Not objAC.AddMovimiento(IDPoliza, dr("IdCuentaComprometido").ToString.ToEntero, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True : Exit For 'actualizo el idcuenta del presupuesto If Not objAC.AddMovimiento(IDPoliza, dr("IdCuentaDevengado").ToString.ToEntero, False, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True : Exit For If RBLPago.SelectedValue = "1" AndAlso Not objAC.AddMovimiento(IDPoliza, drp("IdCuentaMatrizAbono").ToString.ToEntero, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True : Exit For ' CtaServiciosPersonales If Not objAC.AddMovimiento(IDPoliza, IdCtaMatriz, False, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True : Exit For End If If ChkEjercer.Checked Then If Not objAC.AddMovimiento(IDPoliza, dr("IdCuentaDevengado").ToString.ToEntero, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True : Exit For 'actualizo el idcuenta del presupuesto If Not objAC.AddMovimiento(IDPoliza, dr("IdCuentaEjercido").ToString.ToEntero, False, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True : Exit For End If If ChkPagar.Checked Then If Not objAC.AddMovimiento(IDPoliza, dr("IdCuentaEjercido").ToString.ToEntero, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True : Exit For 'actualizo el idcuenta del presupuesto If Not objAC.AddMovimiento(IDPoliza, dr("IdCuentaPagado").ToString.ToEntero, False, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True : Exit For If Seleccion = "1" AndAlso Not objAC.AddMovimiento(IDPoliza, drp("IdCuentaMatrizAbono").ToString.ToEntero, False, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True : Exit For ' CtaServiciosPersonales End If Next If TieneError Then MensajeError = "Error Tipo 1" If Seleccion.Contiene("1", "2", "3") Then Total = DtDetalle.SUMD("Importe") If Seleccion = "3" Then Total = TxtTotal.Text.ToDecimal Dim objACPI As New ClsAC() If objACPI.GetPresupuestoIngresos(CvePresupuestoIngreso, UsuarioActual.Empresa.EjercicioActual, True, UsuarioActual.CveEmpresa) Then If objACPI.DtResultados.Rows.Count > 0 Then drt = objACPI.DtResultados.Rows(0) If RBLPago.SelectedValue.Contiene("1", "2") Then 'se debe de registrar el ingreso 'DEVENGO EL INGRESO If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaPorEjecutar").ToString.ToEntero, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaDevengado").ToString.ToEntero, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True 'CARGO la deuda del cliente 'If Not objAC.AddMovimiento(IDPoliza, CtaCliente, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True 'abono, If Not objAC.AddMovimiento(IDPoliza, CtaCliente, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaMatriz").ToString.ToEntero, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True End If If RBLPago.SelectedValue.Contiene("1", "3") Then 'RECAUDO EL INGRESO If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaDevengado").ToString.ToEntero, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True If Not objAC.AddMovimiento(IDPoliza, drt("IdCuentaRecaudado").ToString.ToEntero, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True If Seleccion = "1" AndAlso Not objAC.AddMovimiento(IDPoliza, CtaPuente, False, Total, "", Concepto, 0, Fecha, "") Then TieneError = True If Not objAC.AddMovimiento(IDPoliza, CtaCliente, True, Total, "", Concepto, 0, Fecha, "") Then TieneError = True End If Else TieneError = True End If Else TieneError = True End If objACPI.Dispose() End If If IdCtaPersonal > 0 Then 'registro los movimientos de cobro de cliente y que estan pendientes de pagarse al FyE Importe = DtDetalle.SUM("Importe") 'cuando es el pago a personal, se carga, los demas casos se abona If Seleccion.Contiene("1", "2", "4") Then If Not objAC.AddMovimiento(IDPoliza, IdCtaPersonal, If(Seleccion = "4", False, True), Importe, "", Concepto, 0, Fecha, "") Then TieneError = True CtaPuente = 0 ' para que no se inserte mas abajo If Seleccion.Contiene("3", "4") Then 'registro un IE ObjIE = New ClsBancos ObjIE.IniciaTransacSQL() Dim ObjMov As New ClsContabilidad(ObjIE.IniciaTransacSQL) Dim CvePrePoliza = ObjMov.AddPrePolizas("Banc", 2, Importe, Importe, 1, Fecha, TxtConcepto.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Dim Obs As String = TxtConcepto.Text Dim Folio As String Folio = TxtFolio.Text.Trim Dim CveConceptoCargo As Integer = 30 Dim CveConceptoAbono As Integer = 28 Total = TxtTotal.Text.ToDecimal If Seleccion = "4" Then Total = DtDetalle.SUMD("Importe") 'cuando saco el egreso invierto los concepto If Seleccion = "3" Then CveConceptoCargo = 29 CveConceptoAbono = 30 End If 'lo envia como transferencia recibida CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, Folio, Obs, Total, 1, 1.0, Obs, "", True, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveIE > 0 Then If ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, Total, "", CveConceptoCargo, Obs, Fecha, 0, -1, CveIE, CvePersonal:=DdlNominaPersonal.SelectedValue.ToEntero, ImporteMX:=Total) Then If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, Total, "", CveConceptoAbono, Obs, Fecha, 0, -1, CveIE, CvePersonal:=DdlNominaPersonal.SelectedValue.ToEntero, ImporteMX:=Total) Then MsgError = "no se pudo insertar el detalle de la póliza 2" End If Else MsgError = "no se pudo insertar el detalle de la póliza" End If ObjIE.UpdateIEPrePoliza(Fecha, objAC.Folio.ToString, IDPoliza, CvePrePoliza, CveIE, -1) Else TieneError = True End If 'Registra el movimiento total If Not objAC.AddMovimiento(IDPoliza, IdCtaBancaria, If(Seleccion = "3", False, True), Total, "", Concepto, 0, Fecha, "") Then TieneError = True End If End If 'Registra el movimiento total Importe = DtDetalle.SUM("Importe") If CtaPuente > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, CtaPuente, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True 'Registra el movimiento de ISPT Importe = TxtISPT.Text.ToDouble If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaISPT, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True 'Registro mov. credito al salario Importe = TxtCredSalario.Text.ToDouble If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaCreditoSalario, False, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True 'Registro del Mov Devolución Importe = TxtISPT.Text.ToDouble - TxtCredSalario.Text.ToDouble If Importe <> 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaDevolucionISPT, If(Importe > 0, False, True), Math.Abs(Importe), "", Concepto, 0, Fecha, "") Then TieneError = True Else TieneError = True End If If Not TieneError Then objAC.AjustaPoliza(IDPoliza) objAC.Commit() If ObjIE IsNot Nothing Then ObjIE.Commit() GvD.DataBind() UPPDetalle.Update() DtDetalle.Rows.Clear() LbTotal.Text = "0.00" Dim Descargas As New StringBuilder If IDPoliza > 0 Then Descargas.AppendFormat("
Ver Poliza", IDPoliza) If CveIE > 0 Then Descargas.AppendFormat("
Movimiento Bancario", CveIE) Dim Msg As String = String.Format("
La poliza se registró correctamente.
{0}", Descargas.ToString) 'TipoMensaje.MsgInformacion Msg.Alert(Msg, TipoMensaje.MsgInformacion) Else Alert("Error al agregar los Movimientos. Agregar presupuesto del año siguiente (LN 368)." & MensajeError, TipoMensaje.MsgError) objAC.RollBack() If ObjIE IsNot Nothing Then ObjIE.RollBack() End If objAC.Dispose() If ObjIE IsNot Nothing Then ObjIE.Dispose() End Sub End Class