From 1d9f072becea93a9a482536de772f36385786799 Mon Sep 17 00:00:00 2001 From: rrene Date: Sat, 10 Feb 2024 08:56:16 -0700 Subject: [PATCH] =?UTF-8?q?-=20correcci=C3=B3n=20mejora=20Rev.=20B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/Timbrado.vb | 116 +++++++++++++++++++++---------------------- 1 file changed, 58 insertions(+), 58 deletions(-) diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 028c94f84..ff33b1f0b 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -9,6 +9,7 @@ Imports System.Reflection Imports System.Xml Imports System.Xml.Serialization Imports Extensiones +Imports External.Office Imports Newtonsoft.Json.Linq Imports Profact.TimbraCFDI33.Complementos Imports ProfactCartaPorte = Profact.TimbraCFDI33.Complementos.CartaPorte30 @@ -2461,45 +2462,45 @@ Public Class Timbrado #Region "C O M P L E M E N T O D E C O M E R C I O E X T E R I O R" If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior.AplicaComercioExteriorSubProyecto Then - If ObjCFDITimbre.Complementos.ComercioExterior IsNot Nothing Then + If ObjCFDITimbre.Complementos.ComercioExterior IsNot Nothing Then - 'DATOS GENERALES - cfdi.ComercioExterior20(ObjCFDITimbre.Complementos.ComercioExterior.MotivoTraslado, - ObjCFDITimbre.Complementos.ComercioExterior.ClavedePedimento, - ObjCFDITimbre.Complementos.ComercioExterior.CertificadoOrigen, - ObjCFDITimbre.Complementos.ComercioExterior.NumCertificadoOrigen, - ObjCFDITimbre.Complementos.ComercioExterior.NumeroExportadorConfiable, - ObjCFDITimbre.Complementos.ComercioExterior.Incoterm, - ObjCFDITimbre.Complementos.ComercioExterior.Observaciones, - ObjCFDITimbre.Complementos.ComercioExterior.TipoCambioUSD, - ObjCFDITimbre.Complementos.ComercioExterior.TotalUSD) - 'EMISOR - cfdi.ComercioExterior20Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior.Emisor.CURP)) - cfdi.ComercioExterior20Domicilio(ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Calle, - ObjCFDITimbre.Complementos.ComercioExterior.Emisor.NumeroExterior, - ObjCFDITimbre.Complementos.ComercioExterior.Emisor.NumeroInterior, - ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Colonia, - ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Localidad, - ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Referencia, - ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Municipio, - ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Estado, - ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Pais, - ObjCFDITimbre.Complementos.ComercioExterior.Emisor.CP) - 'RECEPTOR - cfdi.ComercioExterior20Receptor(ObjCFDITimbre.Complementos.ComercioExterior.Receptor.NumRegIdTrib) - cfdi.ComercioExterior20DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Calle, - ObjCFDITimbre.Complementos.ComercioExterior.Receptor.NumeroExterior, - ObjCFDITimbre.Complementos.ComercioExterior.Receptor.NumeroInterior, - ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Colonia, - ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Localidad, - ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Referencia, - ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Municipio, - ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Estado, + 'DATOS GENERALES + cfdi.ComercioExterior20(ObjCFDITimbre.Complementos.ComercioExterior.MotivoTraslado, +ObjCFDITimbre.Complementos.ComercioExterior.ClavedePedimento, +ObjCFDITimbre.Complementos.ComercioExterior.CertificadoOrigen, +ObjCFDITimbre.Complementos.ComercioExterior.NumCertificadoOrigen, +ObjCFDITimbre.Complementos.ComercioExterior.NumeroExportadorConfiable, +ObjCFDITimbre.Complementos.ComercioExterior.Incoterm, +ObjCFDITimbre.Complementos.ComercioExterior.Observaciones, +ObjCFDITimbre.Complementos.ComercioExterior.TipoCambioUSD, +ObjCFDITimbre.Complementos.ComercioExterior.TotalUSD) + 'EMISOR + cfdi.ComercioExterior20Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior.Emisor.CURP)) + cfdi.ComercioExterior20Domicilio(ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Calle, +ObjCFDITimbre.Complementos.ComercioExterior.Emisor.NumeroExterior, +ObjCFDITimbre.Complementos.ComercioExterior.Emisor.NumeroInterior, +ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Colonia, +ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Localidad, +ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Referencia, +ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Municipio, +ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Estado, +ObjCFDITimbre.Complementos.ComercioExterior.Emisor.Pais, +ObjCFDITimbre.Complementos.ComercioExterior.Emisor.CP) + 'RECEPTOR + cfdi.ComercioExterior20Receptor(ObjCFDITimbre.Complementos.ComercioExterior.Receptor.NumRegIdTrib) + cfdi.ComercioExterior20DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Calle, +ObjCFDITimbre.Complementos.ComercioExterior.Receptor.NumeroExterior, +ObjCFDITimbre.Complementos.ComercioExterior.Receptor.NumeroInterior, +ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Colonia, +ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Localidad, +ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Referencia, +ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Municipio, +ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Estado, ObjCFDITimbre.Complementos.ComercioExterior.Receptor.Pais, ObjCFDITimbre.Complementos.ComercioExterior.Receptor.CP) - If ObjCFDITimbre.Complementos.ComercioExterior.Destinatario IsNot Nothing Then - cfdi.ComercioExterior20Destinatario(ObjCFDITimbre.Complementos.ComercioExterior.Destinatario.NumRegIdTrib, + If ObjCFDITimbre.Complementos.ComercioExterior.Destinatario IsNot Nothing Then + cfdi.ComercioExterior20Destinatario(ObjCFDITimbre.Complementos.ComercioExterior.Destinatario.NumRegIdTrib, ObjCFDITimbre.Complementos.ComercioExterior.Destinatario.Nombre, ObjCFDITimbre.Complementos.ComercioExterior.Destinatario.Calle, ObjCFDITimbre.Complementos.ComercioExterior.Destinatario.NumeroExterior, @@ -2511,37 +2512,32 @@ Public Class Timbrado ObjCFDITimbre.Complementos.ComercioExterior.Destinatario.Estado, ObjCFDITimbre.Complementos.ComercioExterior.Destinatario.Pais, ObjCFDITimbre.Complementos.ComercioExterior.Destinatario.CP) - End If - - - 'MERCANCIAS - If ObjCFDITimbre.Complementos.ComercioExterior.Mercancias IsNot Nothing AndAlso ObjCFDITimbre.Complementos.ComercioExterior.Mercancias.Count > 0 Then - For Each concep As CFDIComercioExterior11Mercancias In ObjCFDITimbre.Complementos.ComercioExterior.Mercancias - cfdi.ComercioExterior20Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares) - If concep.DescripcionesEspecificas.Marca <> "" Then - cfdi.ComercioExterior20MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca, - concep.DescripcionesEspecificas.Modelo, - concep.DescripcionesEspecificas.SubModelo, - concep.DescripcionesEspecificas.NumeroSerie) - End If - Next - - End If + End If + 'MERCANCIAS + If ObjCFDITimbre.Complementos.ComercioExterior.Mercancias IsNot Nothing AndAlso ObjCFDITimbre.Complementos.ComercioExterior.Mercancias.Count > 0 Then + For Each concep As CFDIComercioExterior11Mercancias In ObjCFDITimbre.Complementos.ComercioExterior.Mercancias + cfdi.ComercioExterior20Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares) + If concep.DescripcionesEspecificas.Marca <> "" Then + cfdi.ComercioExterior20MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca, +concep.DescripcionesEspecificas.Modelo, +concep.DescripcionesEspecificas.SubModelo, +concep.DescripcionesEspecificas.NumeroSerie) + End If + Next End If End If - -#End Region + End If + +#End Region End If + #Region "C O M P L E M E N T O C A R T A P O R T E" - If UsuarioActual.CveEmpresa = 13 Then - If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then - Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte ''DATOS GENERALES @@ -2555,7 +2551,6 @@ Public Class Timbrado 'cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida) cfdi.CartaPorteDomicilio(ubica.Domicilio.Calle, ubica.Domicilio.NumeroExterior, ubica.Domicilio.NumeroInterior, ubica.Domicilio.Colonia, ubica.Domicilio.Localidad, ubica.Domicilio.Referencia, ubica.Domicilio.Municipio, ubica.Domicilio.Estado, ubica.Domicilio.Pais, ubica.Domicilio.CP) Next - End If 'MERCANCIAS @@ -2697,6 +2692,11 @@ Public Class Timbrado For Each docp As CFDIComplementoPago In ObjCFDITimbre.ComplementoPagos20.ComplementoPagos + Dim MonDiferente As Integer = (From c In docp.DocumentosRelacionados + Where c.MonedaDR <> docp.MonedaP + Select c.MonedaDR).Count() + If MonDiferente > 0 Then cfdi.ContieneVariasMonedas = True 'consideración adicional Rev. B + cfdi.Pago20(docp.FechaPago.ToString("yyyy-MM-ddTHH:mm:ss"), docp.FormaDePagoP, docp.MonedaP, @@ -2727,7 +2727,7 @@ Public Class Timbrado doc.ImpSaldoInsoluto, doc.ObjetoImpuesto) - If doc.MonedaDR <> docp.MonedaP Then cfdi.ContieneVariasMonedas = True 'consideración adicional Rev. B + 'If doc.MonedaDR <> docp.MonedaP Then cfdi.ContieneVariasMonedas = True 'consideración adicional Rev. B If doc.Impuestos IsNot Nothing Then ''retenciones