From b5398e90301d6bd4796d95992133e214892ac008 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Fri, 9 May 2025 19:46:10 -0700 Subject: [PATCH] --FIX pago en dolares a facturas en dolares en cobranza --- Ventas/PVCobranza.aspx | 65 +++++++++++++++++++++++++-------------- Ventas/PVCobranza.aspx.vb | 30 +++++++++++++++--- 2 files changed, 68 insertions(+), 27 deletions(-) diff --git a/Ventas/PVCobranza.aspx b/Ventas/PVCobranza.aspx index 6e138db07..d45efe15e 100644 --- a/Ventas/PVCobranza.aspx +++ b/Ventas/PVCobranza.aspx @@ -368,7 +368,7 @@ + DataKeyNames="CveVenta,CveCliente,TipoDocto,Saldo,AtencionA,CveFormaPago33,SerieFolio,CondicionesPago,PlazoCobranza,CveMoneda,Moneda"> <%----%> @@ -481,36 +481,29 @@
-
-
-
- Nombre: -
+
+
Nombre:
         
- -
Folio:
-
  
- -
+
Folio:   
+
- -
-
- - - + +   + + +   + +
-
-
@@ -682,7 +675,7 @@
- +
$ @@ -692,7 +685,7 @@
- +
$ @@ -701,7 +694,7 @@
- +  
@@ -713,6 +706,25 @@
+
+
+
+ +
+ $ + + +
+
+
+ +
+ $ + + +
+
+
@@ -727,6 +739,7 @@ +
@@ -1239,7 +1252,7 @@ " style="display: inline-block; margin-right: -20px; width: 150px;" /> " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info">
-
+
Total: @@ -1609,6 +1622,12 @@ } $get("TxtImporteContado").value = FormatoNumero(total, 2); + + //DOLARES + if ($get("HdnMoneda").value == "2") { + $get("TxtTotalMXN").value = FormatoNumero(ToDouble($get('TxtImporteContado').value) * ToDouble($get('TxtTC').value), 2); + } + } function CalculaDiferencia() { diff --git a/Ventas/PVCobranza.aspx.vb b/Ventas/PVCobranza.aspx.vb index 881be80e9..ffd4f05de 100644 --- a/Ventas/PVCobranza.aspx.vb +++ b/Ventas/PVCobranza.aspx.vb @@ -517,6 +517,17 @@ Partial Class Ventas_PVCobranza LtlNombre.Text = GvRow.DataKey("AtencionA") LtlFolio.Text = GvRow.DataKey("SerieFolio") LtlSaldo.Text = GvRow.DataKey("Saldo").ToDecimal.FormatoNumero + LtlMoneda.Text = GvRow.DataKey("Moneda") + + Dim CveMoneda As Integer = GvRow.DataKey("CveMoneda").ToEntero() + + HdnMoneda.Value = CveMoneda.ToString() + If CveMoneda = 2 Then + DivUSD.Visible = True + TxtTC.Text = GlobalTipoCambio(Now).ToString() + TxtTotalMXN.Text = (TxtImporteContado.Text.ToDecimal() * TxtTC.Text.ToDecimal()).FormatoNumero() + End If + HdnVentaCondicionesPago.Value = GvRow.DataKey("CondicionesPago") HdnPlazoCobranza.Value = GvRow.DataKey("PlazoCobranza") @@ -1262,6 +1273,11 @@ Partial Class Ventas_PVCobranza LtlTipoAnticipo.Text = "" TxtFaltante.Text = "" ChkSobFaltante.Checked = False + LtlMoneda.Text = "" + TxtTC.Text = "" + TxtTotalMXN.Text = "" + DivUSD.Visible = False + HdnMoneda.Value = "1" 'HdnTipoAmortizacion.Value = "" CveCliente = -1 CveVendedor = -1 @@ -1318,7 +1334,7 @@ Partial Class Ventas_PVCobranza ObjFactura.CveMoneda = VentaRemision.CveMoneda If ObjFactura.CveMoneda = 2 Then - ObjFactura.TipoCambio = GlobalTipoCambio(Now).ToString().ToDecimal() + ObjFactura.TipoCambio = TxtTC.Text.ToDecimal() Else ObjFactura.TipoCambio = 1 End If @@ -1699,6 +1715,9 @@ Partial Class Ventas_PVCobranza Dim CveIEPago As Integer = 0 Dim ErrorConta As Boolean + Dim CveMonedaVenta As Integer = VentaActual.CveMoneda + Dim CveMonedaPago As Integer = CveMonedaVenta + If String.IsNullOrEmpty(Obs) Then Obs = $"Folio: {VentaActual.SerieFolio}" Else @@ -1750,7 +1769,7 @@ Partial Class Ventas_PVCobranza End If If String.IsNullOrEmpty(Retorno) Then - CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImporteIE, 1, 1, Obs, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte, CveAutorizacion:=CveAutorizacion, CveSubProyecto:=CveSubProyecto) + CveIEPago = ObjIE.AddBancos_IE(CveBancoCuenta, Metodo, Fecha, "-1", VentaActual.ClienteNombre, ImporteIE, CveMonedaPago, If(CveMonedaVenta = 1, 1, TxtTC.Text.ToDecimal()), Obs, "", False, True, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCorte:=tCveCorte, CveAutorizacion:=CveAutorizacion, CveSubProyecto:=CveSubProyecto, Modulo:="PVCob") If CveIEPago > 0 Then Dim tImportePago As Decimal = If(ImporteBancos > ImporteAbonoVenta, ImporteAbonoVenta, ImporteBancos) 'toma el importe menor para la factura @@ -1759,10 +1778,10 @@ Partial Class Ventas_PVCobranza Pago.ImportePagoVenta = tImportePago Pago.ImportePago = ImporteIE Pago.CveIE = CveIEPago - Pago.CveMonedaPago = VentaActual.CveMoneda + Pago.CveMonedaPago = CveMonedaPago ' EL PAGO SIEMRE DEBE SER EN PESOS Pago.Fecha = NowADS() Pago.Referencia = VentaActual.SerieFolio - If Pago.CveMonedaPago > 1 Then Pago.TCPago = GlobalTipoCambio(Now).ToDecimal + Pago.TCPago = If(CveMonedaVenta = 1, 1, TxtTC.Text.ToDecimal()) ErrorConta = AplicaPrePolizaPagoVenta(VentaActual, Pago, CvePrePoliza, ObjConta) End If @@ -3092,6 +3111,9 @@ Partial Class Ventas_PVCobranza Next TxtCxCAplicado.Text = (SaldoCxC).FormatoNumero TxtImporteContado.Text = (LtlSaldo.Text.ToDecimal + SaldoCxC).FormatoNumero + If DivUSD.Visible Then + TxtTotalMXN.Text = (TxtImporteContado.Text.ToDecimal() * TxtTC.Text.ToDecimal()).FormatoNumero() + End If RegistraScript("$('#divCxC').hide();", "AE21") UPPCobranza.Update() UPPTotalesContado.Update()