From 20a7d9d6da8e5487dc7dbfa3902fc431c8ad082f Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 15 Jul 2025 16:36:45 -0700 Subject: [PATCH] =?UTF-8?q?-=20correcci=C3=B3n=20devoluci=C3=B3n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/Clientes.aspx.vb | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 79361659d..747122c44 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -10956,13 +10956,13 @@ Partial Class Clientes tCveMoneda = GlobalDTBancosCuentasGral(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("CveMoneda", $"CveCuenta={DdlCuenta.SelectedValue}").ToEntero CvePrePoliza = ObjMov.AddPrePolizas("Clientes/IE/DEV ", 1, tImporteDev, tImporteDev, tCveMoneda, TxtFechaDocumento.Text.ToDate, PagueseA, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=2) - + If tCveMoneda > 1 Then tTipoCambio = GlobalTipoCambio(TxtFechaDocumento.Text.ToDate).ToDecimal 'valida prepoliza If CvePrePoliza > 0 Then tFolio = ObjIE.GetNextFolio(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero).ToString CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, tFolio, PagueseA, tImporteDev, tCveMoneda, - tTipoCambio, tObs, "", False, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero) + tTipoCambio, tObs, "", False, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte, CveCuentaDeposito:=DdlCuentaDeposito.SelectedValue.ToEntero, Modulo:="Clientes/IE/DEV ") If CveIE > 0 Then Dim ImporteAplicar As Decimal = 0.0D @@ -10990,7 +10990,7 @@ Partial Class Clientes 'BANCOS COMPLEMENTARIAs If tCveMoneda > 1 Then ImporteAplicarMN = ((ImporteAplicar * If(tCveMoneda = 1, 1, tTipoCambio)) - ImporteAplicar).RoundSQL() - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ImporteAplicarMN, 204, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=-1, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, ImporteAplicar, ImporteAplicarMN, 204, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=-1, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, TipoCambio:=tTipoCambio) Then MsgError = "Ocurrió un error al registrar el asiento de bancos complementaria de devolución" End If End If @@ -11015,29 +11015,39 @@ Partial Class Clientes For Each gvr As GridViewRow In GVAnticipos.Rows If gvr.FCCheckBox("chkDevolver").Checked Then Dim PorcentajePagoDevDin As Decimal = (gvr.DataKey("Saldo").ToDecimal / gvr.DataKey("Total").ToDecimal).RoundSQL(6) - Dim tCveConcepto As Integer + Dim tConceptosTipoSaldo As ConceptosTipoSaldo = Nothing ImporteAplicar = gvr.DataKey("Saldo").ToDecimal + ImporteAplicarMN = ImporteAplicar Dim CveVentaAmortizacion As Integer = -1 If gvr.DataKey("Tipo") = "IxC" Then - tCveConcepto = 92 : tTipoMovto = False + tTipoMovto = False + tConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(18, tCveMoneda, True, -1) ElseIf gvr.DataKey("Tipo").Contiene("Dev", "NC") Then CveVentaAmortizacion = gvr.DataKey("CveVenta").ToEntero - tCveConcepto = 91 : ImporteAplicar = ImporteAplicar : tTipoMovto = False + tConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(6, tCveMoneda, True, -1) + ImporteAplicar = ImporteAplicar : tTipoMovto = False ElseIf gvr.DataKey("Tipo").Contiene("Ant") Then - tCveConcepto = 11 : ImporteAplicar = ImporteAplicar : tTipoMovto = False + tConceptosTipoSaldo = ClsPaginas.ObtenerCveConceptoPrePoliza(12, tCveMoneda, True, -1) + ImporteAplicar = ImporteAplicar : tTipoMovto = False End If + If tCveMoneda > 1 Then ImporteAplicarME = ImporteAplicar - ImporteAplicarMN = (ImporteAplicar * If(tCveMoneda = 1, 1, tTipoCambio)).RoundSQL() - - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, ImporteAplicar, ImporteAplicarMN, tCveConcepto, ReferenciaAplicar, ConceptoAplicar, CveIE:=gvr.DataKey("CveIE").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, CveVentaAmortizacion:=CveVentaAmortizacion) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, ImporteAplicar, ImporteAplicarMN, tConceptosTipoSaldo.CveConcepto, ReferenciaAplicar, ConceptoAplicar, CveIE:=gvr.DataKey("CveIE").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, CveVentaAmortizacion:=CveVentaAmortizacion, TipoCambio:=tTipoCambio) Then MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" Exit For End If + If tCveMoneda > 1 Then + ImporteAplicarMN = (ImporteAplicar * If(tCveMoneda = 1, 1, tTipoCambio - 1)).RoundSQL() + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, tTipoMovto, ImporteAplicar, ImporteAplicarMN, tConceptosTipoSaldo.CveConceptoComplementario, ReferenciaAplicar, ConceptoAplicar, CveIE:=gvr.DataKey("CveIE").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, CveVentaAmortizacion:=CveVentaAmortizacion, TipoCambio:=tTipoCambio) Then + MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" + Exit For + End If + End If 'IMPUESTOS If gvr.DataKey("IVA").ToDecimal > 0 Then - tImporte = -(gvr.DataKey("IVA").ToDecimal * PorcentajePagoDevDin).RoundSQL + tImporte = -(gvr.DataKey("IVA").ToDecimal * PorcentajePagoDevDin * tTipoCambio).RoundSQL If gvr.DataKey("Tipo").Contiene("Dev", "NC") AndAlso Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, tImporte, tImporte, 13, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME, PorcentajeImpuesto:=gvr.DataKey("PorcentajeIVA").ToDecimal) Then MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" Exit For @@ -11049,7 +11059,7 @@ Partial Class Clientes End If If gvr.DataKey("IEPS").ToDecimal > 0 Then - tImporte = (gvr.DataKey("IEPS").ToDecimal * PorcentajePagoDevDin).RoundSQL + tImporte = (gvr.DataKey("IEPS").ToDecimal * PorcentajePagoDevDin * tTipoCambio).RoundSQL If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, tImporte, tImporte, 39, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" Exit For @@ -11057,7 +11067,7 @@ Partial Class Clientes End If If gvr.DataKey("RetIVA").ToDecimal > 0 Then - tImporte = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePagoDevDin).RoundSQL + tImporte = (gvr.DataKey("RetIVA").ToDecimal * PorcentajePagoDevDin * tTipoCambio).RoundSQL If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, tImporte, tImporte, 62, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" Exit For @@ -11065,13 +11075,12 @@ Partial Class Clientes End If If gvr.DataKey("RetISR").ToDecimal > 0 Then - tImporte = (gvr.DataKey("RetISR").ToDecimal * PorcentajePagoDevDin).RoundSQL + tImporte = (gvr.DataKey("RetISR").ToDecimal * PorcentajePagoDevDin * tTipoCambio).RoundSQL If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, tImporte, tImporte, 63, ReferenciaAplicar, ConceptoAplicar, CveIE:=CveIE, CveVenta:=gvr.DataKey("CveVenta").ToEntero, CveCliente:=CveCliente, ImporteME:=ImporteAplicarME) Then MsgError = "Ocurrió un error al registrar el asiento de impuestos de devolución" Exit For End If End If - End If Next @@ -11131,8 +11140,6 @@ Partial Class Clientes #End Region - - End Class