From 90800e4233b27c99ba5babd43018ed788792e2d6 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 22 Jan 2021 11:52:44 -0700 Subject: [PATCH] cambio en PAC 3, al timbrado sin impuestos --- App_Code/Timbrado.vb | 62 +++++++++++++++++++++++++------------------- 1 file changed, 35 insertions(+), 27 deletions(-) diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 42549491e..bed33b7e6 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -2981,8 +2981,10 @@ Public Class Timbrado comprobante.Conceptos(i).ClaveProdServ = concep.ClaveProdServ If ObjCFDITimbre.Comprobante.TipoComprobante <> "P" Then - comprobante.Conceptos(i).Descuento = concep.Descuento - comprobante.Conceptos(i).DescuentoSpecified = True + If concep.Descuento > 0 Then + comprobante.Conceptos(i).Descuento = concep.Descuento + comprobante.Conceptos(i).DescuentoSpecified = True + End If End If If concep.Noidentificacion <> "" Then comprobante.Conceptos(i).NoIdentificacion = concep.Noidentificacion @@ -2996,33 +2998,39 @@ Public Class Timbrado k = 0 'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS If Not ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("P", "N") AndAlso (Ventas.Total <> 0 OrElse (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0)) Then - comprobante.Conceptos(i).Impuestos = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestos() - comprobante.Conceptos(i).Impuestos.Traslados = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestosTraslado(concep.Impuestos.FindAll(Function(p As CFDIConceptosImpuestos) p.TrasladooRetencion = "T").Count - 1) {} - If concep.Impuestos.FindAll(Function(p As CFDIConceptosImpuestos) p.TrasladooRetencion <> "T").Count > 0 Then - comprobante.Conceptos(i).Impuestos.Retenciones = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestosRetencion(concep.Impuestos.FindAll(Function(p As CFDIConceptosImpuestos) p.TrasladooRetencion <> "T").Count - 1) {} + + If concep.Impuestos.Count > 0 Then + + comprobante.Conceptos(i).Impuestos = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestos() + comprobante.Conceptos(i).Impuestos.Traslados = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestosTraslado(concep.Impuestos.FindAll(Function(p As CFDIConceptosImpuestos) p.TrasladooRetencion = "T").Count - 1) {} + If concep.Impuestos.FindAll(Function(p As CFDIConceptosImpuestos) p.TrasladooRetencion <> "T").Count > 0 Then + comprobante.Conceptos(i).Impuestos.Retenciones = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestosRetencion(concep.Impuestos.FindAll(Function(p As CFDIConceptosImpuestos) p.TrasladooRetencion <> "T").Count - 1) {} + End If + + For Each imp As CFDIConceptosImpuestos In concep.Impuestos + If imp.TrasladooRetencion = "T" Then + comprobante.Conceptos(i).Impuestos.Traslados(j) = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestosTraslado() + comprobante.Conceptos(i).Impuestos.Traslados(j).Base = imp.Base + comprobante.Conceptos(i).Impuestos.Traslados(j).Impuesto = imp.Impuesto + comprobante.Conceptos(i).Impuestos.Traslados(j).TipoFactor = imp.TipoFactor + comprobante.Conceptos(i).Impuestos.Traslados(j).Importe = imp.Importe + comprobante.Conceptos(i).Impuestos.Traslados(j).ImporteSpecified = True + comprobante.Conceptos(i).Impuestos.Traslados(j).TasaOCuota = imp.TasaOCuota.FormatoNumero(6) + comprobante.Conceptos(i).Impuestos.Traslados(j).TasaOCuotaSpecified = True + j += 1 + Else + comprobante.Conceptos(i).Impuestos.Retenciones(k) = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestosRetencion() + comprobante.Conceptos(i).Impuestos.Retenciones(k).Base = imp.Base + comprobante.Conceptos(i).Impuestos.Retenciones(k).Impuesto = imp.Impuesto + comprobante.Conceptos(i).Impuestos.Retenciones(k).TipoFactor = imp.TipoFactor + comprobante.Conceptos(i).Impuestos.Retenciones(k).Importe = imp.Importe + comprobante.Conceptos(i).Impuestos.Retenciones(k).TasaOCuota = imp.TasaOCuota.ToString.ToDecimal + k += 1 + End If + Next End If - For Each imp As CFDIConceptosImpuestos In concep.Impuestos - If imp.TrasladooRetencion = "T" Then - comprobante.Conceptos(i).Impuestos.Traslados(j) = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestosTraslado() - comprobante.Conceptos(i).Impuestos.Traslados(j).Base = imp.Base - comprobante.Conceptos(i).Impuestos.Traslados(j).Impuesto = imp.Impuesto - comprobante.Conceptos(i).Impuestos.Traslados(j).TipoFactor = imp.TipoFactor - comprobante.Conceptos(i).Impuestos.Traslados(j).Importe = imp.Importe - comprobante.Conceptos(i).Impuestos.Traslados(j).ImporteSpecified = True - comprobante.Conceptos(i).Impuestos.Traslados(j).TasaOCuota = imp.TasaOCuota.FormatoNumero(6) - comprobante.Conceptos(i).Impuestos.Traslados(j).TasaOCuotaSpecified = True - j += 1 - Else - comprobante.Conceptos(i).Impuestos.Retenciones(k) = New Profact.TimbraCFDI33.ComprobanteConceptoImpuestosRetencion() - comprobante.Conceptos(i).Impuestos.Retenciones(k).Base = imp.Base - comprobante.Conceptos(i).Impuestos.Retenciones(k).Impuesto = imp.Impuesto - comprobante.Conceptos(i).Impuestos.Retenciones(k).TipoFactor = imp.TipoFactor - comprobante.Conceptos(i).Impuestos.Retenciones(k).Importe = imp.Importe - comprobante.Conceptos(i).Impuestos.Retenciones(k).TasaOCuota = imp.TasaOCuota.ToString.ToDecimal - k += 1 - End If - Next + End If i += 1 Next