From b12fde09bdd8fec4a79fff7a699f6c2107873e66 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 5 May 2023 07:29:17 -0700 Subject: [PATCH] =?UTF-8?q?--=20mejora=20en=20saldado,=20para=20que=20tome?= =?UTF-8?q?=20los=20conceptos=20de=20la=20func=C3=AD=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/ClientesAbonar.aspx.vb | 30 ++--- Ventas/RepAnticipo-NC-IXCDetalle.aspx | 2 +- Ventas/RepAnticipo-NC-IXCDetalle.aspx.cs | 142 +++++++++++++---------- 3 files changed, 91 insertions(+), 83 deletions(-) diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb index 1d4659597..f051b4b33 100644 --- a/Ventas/ClientesAbonar.aspx.vb +++ b/Ventas/ClientesAbonar.aspx.vb @@ -2476,22 +2476,18 @@ Partial Class Ventas_ClientesAbonar Else IdCtaContable = IdCuentaCliente End If + Dim ConPreP As ConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(6, tCveMoneda, False, 1) + + 'normal + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, Saldo, gr.DataKey("SerieFolio").ToString, ConPreP.CveConcepto, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=IdCtaContable, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, Saldo, Saldo), TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then + MsgError = "Ocurrio un error al saldar el movimiento" + End If If UsaComplementaria AndAlso tCveMoneda = 2 Then - 'normal - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, Saldo, gr.DataKey("SerieFolio").ToString, CveConceptoCliente, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=IdCtaContable, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, Saldo, Saldo), TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If 'complementaria - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, 0, gr.DataKey("SerieFolio").ToString, 207, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=IdCtaContComplementaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, Saldo, (Saldo * TCVenta) - Saldo).RoundSQL, ImporteME:=Saldo, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, 0, gr.DataKey("SerieFolio").ToString, ConPreP.CveConceptoComplementario, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=IdCtaContComplementaria, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, Saldo, (Saldo * TCVenta) - Saldo).RoundSQL, ImporteME:=Saldo, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then MsgError = "Ocurrio un error al saldar el movimiento" End If - - Else - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ClienteMovto, Saldo, gr.DataKey("SerieFolio").ToString, CveConceptoCliente, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable:=IdCtaContable, CveIE:=-1, IdSegmentoNegocio:=-1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, Saldo, Saldo * TCVenta), TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then - MsgError = "Ocurrio un error al saldar el movimiento" - End If - End If 'fluctuación. @@ -2519,18 +2515,6 @@ Partial Class Ventas_ClientesAbonar End If - ' iva - Dim PorcentajeImpuesto As Decimal = gr.DataKey("PorcentajeIVA").ToDecimal - - Dim IdCtaIVAXTrasladar As Integer = 0 - Dim CveCuentaIVAxTrasladar As Integer = 0 - - 'If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then - ' IdCtaIVAXTrasladar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("IdCtaIVAXTrasladar").ToString.ToEntero - ' CveCuentaIVAxTrasladar = GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows(0)("CveCuentaIVAxTrasladar").ToString.ToEntero - 'End If - - If (IVA > 0 Or UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 122) And IVA < 0) AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, ImpuestosMovto, IVA, gr.DataKey("SerieFolio").ToString, 13, ConceptoPartida, TxtFechaIncobrable.Text.ToDate, IdCtaContable, -1, CveCliente:=gr.DataKey("CveCliente").ToEntero, CveVenta:=gr.DataKey("CveVenta").ToEntero, ImporteMX:=If(CveMonedaFiltro = 1, IVA, IVA * TCVenta), PorcentajeImpuesto:=PorcentajeImpuesto, TipoCambio:=TCVenta, TipoCambioPago:=TCPago) Then MsgError = "Ocurrio un error al saldar el movimiento" End If diff --git a/Ventas/RepAnticipo-NC-IXCDetalle.aspx b/Ventas/RepAnticipo-NC-IXCDetalle.aspx index 2ba2f08ee..06c7486cd 100644 --- a/Ventas/RepAnticipo-NC-IXCDetalle.aspx +++ b/Ventas/RepAnticipo-NC-IXCDetalle.aspx @@ -152,7 +152,7 @@ diff --git a/Ventas/RepAnticipo-NC-IXCDetalle.aspx.cs b/Ventas/RepAnticipo-NC-IXCDetalle.aspx.cs index baf38dc5a..54a1a7722 100644 --- a/Ventas/RepAnticipo-NC-IXCDetalle.aspx.cs +++ b/Ventas/RepAnticipo-NC-IXCDetalle.aspx.cs @@ -1,4 +1,5 @@ using System; +using System.Activities.Expressions; using System.Collections.Generic; using System.Data; using System.Linq; @@ -324,80 +325,103 @@ public partial class Ventas_RepAnticipo_NC_IXCDetalle : ClsPaginas { ClsContabilidad ObjConta = new ClsContabilidad(); ObjConta.IniciaTransacSQL(); - int CvePrePoliza = 0, ConceptoContable1 = 0, ConceptoContable2 = 0, CveVenta = -1, CveIE = -1; + int CvePrePoliza = 0, CveVenta = -1, CveIE = -1; decimal Saldo = 0; - string MsgError = ""; - if (Tipo == 2) - { - ConceptoContable1 = 91; - ConceptoContable2 = 12; - } - else if (Tipo == 1) - { - ConceptoContable1 = 11; - ConceptoContable2 = 3; - } - else if (Tipo == 3) - { - ConceptoContable1 = 92; - ConceptoContable2 = 92; - } + decimal ImporteTotalGasto = 0; + string MsgError = ""; + + CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepNCXAplicar", 6, 0, 0, 1, TxtFecha.Text.ToDate(), TxtConcepto.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa); - foreach (GridViewRow Gv in GvDatos.Rows) - { - if (Gv.FCCheckBox("Chk").Checked) + if (CvePrePoliza > 0) + { + foreach (GridViewRow Gv in GvDatos.Rows) { - if (Tipo == 1 || Tipo == 2) - { - CveVenta = Gv.DataKey("CveVenta").ToEntero(); - Saldo = -Gv.DataKey("Saldo").ToDecimal(); - } - else if (Tipo == 3) - { - CveIE = Gv.DataKey("CveIE").ToEntero(); - Saldo = Gv.DataKey("Saldo").ToDecimal(); - } - - int IdCtaContable = 0; - if (ObjConta.GetRetCuenta(ConceptoContable1, Gv.DataKey("CveCliente").ToEntero())) - { - if (ObjConta.DtResultados.Rows.Count > 0) + ConceptosTipoSaldo ConPreP = new ConceptosTipoSaldo(); + if (Gv.FCCheckBox("Chk").Checked) + { + if (Tipo == 2) + { + ConPreP = ClsPaginas.get_ObtenerCveConceptoPrePoliza(6, Gv.DataKey("CveMoneda").ToEntero(), false, 2); + } + else if (Tipo == 1) + { + ConPreP.CveConcepto = 3; + } + + if (Tipo == 1 || Tipo == 2) { - if (Tipo == 1 || Tipo == 2) - { - IdCtaContable = ObjConta.DtResultados.Rows[0]["IdCtaContable"].ToString().ToEntero(); - } - else if (Tipo == 3) - { - IdCtaContable = ObjConta.DtResultados.Rows[0]["IdCtaContClientes"].ToString().ToEntero(); + CveVenta = Gv.DataKey("CveVenta").ToEntero(); + Saldo = -Gv.DataKey("Saldo").ToDecimal(); + } + else if (Tipo == 3) + { + ConPreP.CveConcepto = 92; + CveIE = Gv.DataKey("CveIE").ToEntero(); + Saldo = Gv.DataKey("Saldo").ToDecimal(); + } + + int IdCtaContable = 0; + if (UsuarioActual.Empresa.TipoContabilidad == 2) + { + if (UsuarioActual.Empresa.TipoContabilidad == 2 && ObjConta.GetRetCuenta(ConPreP.CveConcepto, Gv.DataKey("CveCliente").ToEntero())) + { + if (ObjConta.DtResultados.Rows.Count > 0) + { + if (Tipo == 1 || Tipo == 2) + { + IdCtaContable = ObjConta.DtResultados.Rows[0]["IdCtaContable"].ToString().ToEntero(); + } + else if (Tipo == 3) + { + IdCtaContable = ObjConta.DtResultados.Rows[0]["IdCtaContClientes"].ToString().ToEntero(); + } + } + } + else + { + break; + } + } + + ImporteTotalGasto += Saldo; + if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, Saldo, Gv.DataKey("SerieFolio").ToString(), ConPreP.CveConcepto, TxtConcepto.Text, TxtFecha.Text.ToDate(), IdCtaContable, -1, CveIE, CveVenta, CveCliente: Gv.DataKey("CveCliente").ToEntero(), ImporteMX: Saldo)) + { + MsgError = "Ocurrio un error al saldar el movimiento"; + break; + } + if (Gv.DataKey("CveMoneda").ToEntero() > 1 ) + { + decimal ImporteMN = (Saldo * Gv.DataKey("TipoCambio").ToDecimal() - Saldo).RoundSQL(); + ImporteTotalGasto += ImporteMN; + if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, Saldo, Gv.DataKey("SerieFolio").ToString(), ConPreP.CveConceptoComplementario, TxtConcepto.Text, TxtFecha.Text.ToDate(), IdCtaContable, -1, CveIE, CveVenta, CveCliente: Gv.DataKey("CveCliente").ToEntero(), ImporteME: Saldo, ImporteMX: ImporteMN, TipoCambio: Gv.DataKey("TipoCambio").ToDecimal())) + { + MsgError = "Ocurrio un error al saldar el movimiento"; + break; } } - } - else + } + } + + if (ImporteTotalGasto != 0) + { + ImporteTotalGasto = ImporteTotalGasto * -1; // se invierte el valor, para cuadre de prepoliza + if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, ImporteTotalGasto, "", 78, TxtConcepto.Text, TxtFecha.Text.ToDate(), UsuarioActual.Empresa.IdCuentaOtrosIngresos, -1, CveIE, CveVenta, ImporteMX: ImporteTotalGasto, CveSubProyecto: DdlSubProyectoSaldar.SelectedValue.ToEntero())) { - break; - } - CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepNCXAplicar", 6, Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("CveMoneda").ToEntero(), TxtFecha.Text.ToDate(), "Saldo de NC por Sistema", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa); - - if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, Saldo, Gv.DataKey("Folio").ToString(), ConceptoContable2, TxtConcepto.Text, TxtFecha.Text.ToDate(), IdCtaContable, -1, CveIE, CveVenta, CveCliente: Gv.DataKey("CveCliente").ToEntero(), ImporteMX: Saldo)) - { - MsgError = "Ocurrio un error al saldar el movimiento"; - break; - } - - if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, Gv.DataKey("Saldo").ToDecimal(), Gv.DataKey("Folio").ToString(), 78, TxtConcepto.Text, TxtFecha.Text.ToDate(), UsuarioActual.Empresa.IdCuentaOtrosIngresos, -1, CveIE, CveVenta, ImporteMX: Gv.DataKey("Saldo").ToDecimal(), CveSubProyecto: DdlSubProyectoSaldar.SelectedValue.ToEntero())) - { MsgError = "Ocurrio un error al saldar el movimiento"; - break; } - + } + else + { + MsgError = "Poliza no insertada"; } } if (MsgError == "") { ObjConta.Commit(); - Alert("Los movimientos se saldaron correctamente."); + string Msg = "Los movimientos se saldaron correctamente."; + Msg = Msg + $"

Ver Póliza   "; + Alert(Msg); } else {