-- v4.0 comp pago

This commit is contained in:
2022-06-14 20:14:52 -07:00
parent 7887ddbae3
commit 90a930fd5f

View File

@@ -1107,7 +1107,7 @@ Public Class Timbrado
Dim VentaFolioFiscal, VentaSerie, VentaFolio, VentaAbreviaturaSAT, VentaMetodoPago, ObjetoImpuesto As String Dim VentaFolioFiscal, VentaSerie, VentaFolio, VentaAbreviaturaSAT, VentaMetodoPago, ObjetoImpuesto As String
Dim VentaImportePago, VentaImporteSaldoInsoluto, VentaImporteSaldoAnterior, VentaTipoCambio, VentaTipoCambioMN, PorcentajeIVA, PorcentajeIEPS As Decimal Dim VentaImportePago, VentaImportePagoMN, VentaImporteSaldoInsoluto, VentaImporteSaldoAnterior, VentaTipoCambio, VentaTipoCambioMN, PorcentajeIVA, PorcentajeIEPS As Decimal
Dim VentaNumParcialidad As Integer Dim VentaNumParcialidad As Integer
If dttpagos IsNot Nothing AndAlso dttpagos.Rows.Count > 0 Then If dttpagos IsNot Nothing AndAlso dttpagos.Rows.Count > 0 Then
@@ -1126,6 +1126,7 @@ Public Class Timbrado
PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal
PorcentajeIEPS = dr("PorcentajeIEPS").ToString.ToDecimal PorcentajeIEPS = dr("PorcentajeIEPS").ToString.ToDecimal
ObjetoImpuesto = dr("ObjetoImpuesto").ToString ObjetoImpuesto = dr("ObjetoImpuesto").ToString
VentaImportePagoMN = dr("VentasTotalPagado").ToString.ToDecimal
'' si la moneda es igual, se omite el tipo de cambio de la venta '' si la moneda es igual, se omite el tipo de cambio de la venta
If MonedaPago = VentaAbreviaturaSAT Then If MonedaPago = VentaAbreviaturaSAT Then
@@ -1134,7 +1135,7 @@ Public Class Timbrado
'condiciones especiales para el pago en pesos, facturas en moneda extranjera 'condiciones especiales para el pago en pesos, facturas en moneda extranjera
ElseIf MonedaPago = "MXN" AndAlso VentaAbreviaturaSAT <> "MXN" Then ElseIf MonedaPago = "MXN" AndAlso VentaAbreviaturaSAT <> "MXN" Then
VentaTipoCambioMN = VentaTipoCambio VentaTipoCambioMN = VentaTipoCambio
VentaTipoCambio = 1 / VentaTipoCambio VentaTipoCambio = (1 / VentaTipoCambio).RoundSQL(6)
End If End If
' For Each drr As Data.DataRow In DtFacturasPagadas.Rows ' For Each drr As Data.DataRow In DtFacturasPagadas.Rows
@@ -1144,9 +1145,10 @@ Public Class Timbrado
.MonedaDR = VentaAbreviaturaSAT, .MonedaDR = VentaAbreviaturaSAT,
.MetodoDePagoDR = VentaMetodoPago, .MetodoDePagoDR = VentaMetodoPago,
.ImpPagado = VentaImportePago, .ImpPagado = VentaImportePago,
.ImpPagadoMN = (VentaImportePago / VentaTipoCambio).RoundSQL,
.ImpSaldoInsoluto = VentaImporteSaldoInsoluto, .ImpSaldoInsoluto = VentaImporteSaldoInsoluto,
.ImpSaldoAnt = VentaImporteSaldoAnterior, .ImpSaldoAnt = VentaImporteSaldoAnterior,
.TipoCambioDR = VentaTipoCambioMN, .TipoCambioDR = VentaTipoCambio,
.EquivalenciaDR = VentaTipoCambio, .EquivalenciaDR = VentaTipoCambio,
.NumParcialidad = VentaNumParcialidad, .NumParcialidad = VentaNumParcialidad,
.ObjetoImpuesto = ObjetoImpuesto} 'If(drr("MetodoPago").ToString = "PUE", 0, drr("NumParcialidad").ToString.ToEntero)} .ObjetoImpuesto = ObjetoImpuesto} 'If(drr("MetodoPago").ToString = "PUE", 0, drr("NumParcialidad").ToString.ToEntero)}
@@ -1158,8 +1160,8 @@ Public Class Timbrado
.TasaOCuota = drp("PorcentajeImpuesto").ToString().ToDecimal, .TasaOCuota = drp("PorcentajeImpuesto").ToString().ToDecimal,
.Impuesto = drp("TipoImpuesto").ToString, .Impuesto = drp("TipoImpuesto").ToString,
.Importe = drp("Importe").ToString().ToDecimal.RoundSQL, .Importe = drp("Importe").ToString().ToDecimal.RoundSQL,
.BaseMN = (drp("Base").ToString.ToDecimal * VentaTipoCambioMN).RoundSQL, .BaseMN = (drp("Base").ToString.ToDecimal / VentaTipoCambio).RoundSQL(6),
.ImporteMN = (drp("Importe").ToString.ToDecimal * VentaTipoCambioMN).RoundSQL .ImporteMN = (drp("Importe").ToString.ToDecimal * VentaTipoCambio).RoundSQL(6)
} }
) )
@@ -4186,9 +4188,9 @@ Public Class Timbrado
If docimp.TrasladooRetencion = "T" Then If docimp.TrasladooRetencion = "T" Then
Dim Tra As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRTrasladoDR Dim Tra As New Profact.TimbraCFDI40.Complementos.Pagos20.PagosPagoDoctoRelacionadoImpuestosDRTrasladoDR
Tra.BaseDR = docimp.BaseMN.RoundSQL(2) Tra.BaseDR = docimp.Base.RoundSQL(2)
Tra.ImporteDRSpecified = True Tra.ImporteDRSpecified = True
Tra.ImporteDR = docimp.ImporteMN.RoundSQL(2) Tra.ImporteDR = docimp.Importe.RoundSQL(2)
Tra.ImpuestoDR = docimp.Impuesto Tra.ImpuestoDR = docimp.Impuesto
Tra.TipoFactorDR = docimp.TipoFactor Tra.TipoFactorDR = docimp.TipoFactor
Tra.TasaOCuotaDRSpecified = True Tra.TasaOCuotaDRSpecified = True
@@ -4225,8 +4227,8 @@ Public Class Timbrado
ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImpuestoP = Tra.Impuesto ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImpuestoP = Tra.Impuesto
ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TipoFactorP = Tra.TipoFactor ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TipoFactorP = Tra.TipoFactor
ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TasaOCuotaP = Tra.TasaOCuota.RoundSQL(6) ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).TasaOCuotaP = Tra.TasaOCuota.RoundSQL(6)
ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.Importe.RoundSQL(6) ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).ImporteP = Tra.ImporteMN.RoundSQL(6)
ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).BaseP = Tra.Base.RoundSQL(2) ComPag.Pago(0).ImpuestosP(0).TrasladosP(x).BaseP = Tra.BaseMN.RoundSQL(2)
x += 1 x += 1
Next Next
End If End If
@@ -5100,7 +5102,7 @@ Public Class Timbrado
doc.Serie, doc.Serie,
doc.Folio, doc.Folio,
doc.MonedaDR, doc.MonedaDR,
doc.TipoCambioDR, doc.EquivalenciaDR,
doc.NumParcialidad, doc.NumParcialidad,
doc.ImpSaldoAnt, doc.ImpSaldoAnt,
doc.ImpPagado, doc.ImpPagado,
@@ -5135,7 +5137,7 @@ Public Class Timbrado
If (ObjCFDITimbre.ComplementoPagos.Retenciones).Count > 0 Then If (ObjCFDITimbre.ComplementoPagos.Retenciones).Count > 0 Then
For Each Ret As CFDIRetenciones In ObjCFDITimbre.ComplementoPagos.Retenciones For Each Ret As CFDIRetenciones In ObjCFDITimbre.ComplementoPagos.Retenciones
cfdi.Pago20RetencionP(Ret.Impuesto, Ret.Importe) cfdi.Pago20RetencionP(Ret.Impuesto, Ret.ImporteMN)
Next Next
End If End If