From ef09c629291e044f00079eb9b894f36931ad3121 Mon Sep 17 00:00:00 2001 From: rrene Date: Tue, 23 Apr 2024 18:50:28 -0700 Subject: [PATCH] - mejoras para emitir CCP3.0 con transporte internacional --- App_Code/CFDITimbre.vb | 1 + App_Code/ClsPaginas.vb | 11 ++++++----- App_Code/Timbrado.vb | 26 +++++++++++++++++++++----- App_Code/Timbres.vb | 11 +++++++++++ 4 files changed, 39 insertions(+), 10 deletions(-) diff --git a/App_Code/CFDITimbre.vb b/App_Code/CFDITimbre.vb index b1aa67145..2aad60555 100644 --- a/App_Code/CFDITimbre.vb +++ b/App_Code/CFDITimbre.vb @@ -842,6 +842,7 @@ End Class Public Class CFDICartaPorte Public Property TranspInternac As String = "No" Public Property EntradaSalidaMercancia As String = "" + Public Property PaisOrigenDestino As String = "" Public Property ViaEntradaSalida As String = "" Public Property RegimenAduanero As String = "" Public Property RegistroISTMO As String = "" diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index ac9d061bb..deaa6bdbc 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -6160,6 +6160,11 @@ Public Class ClsPaginas Dim nodeCartaPorte As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:CartaPorte", PrefijoCCP), namespaces) If nodeCartaPorte IsNot Nothing Then TransporteInternacional = ValorXML(nodeCartaPorte, "TranspInternac", "") + Dim CveTransporte As String = ValorXML(nodeCartaPorte, "ViaEntradaSalida", "") + 'Dim nodeFiguraTransporte As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:FiguraTransporte", "cartaporte20"), namespaces) + 'If nodeFiguraTransporte IsNot Nothing Then + MedioTransporte = String.Format("{0} - {1}", CveTransporte, HtTransporte(CveTransporte).ToString()) + 'End If End If Dim nodeAutotransporteFederal As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:Autotransporte", PrefijoCCP), namespaces) @@ -6202,11 +6207,7 @@ Public Class ClsPaginas End If End If - 'Dim nodeFiguraTransporte As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:FiguraTransporte", "cartaporte20"), namespaces) - 'If nodeFiguraTransporte IsNot Nothing Then - ' Dim CveTransporte As String = ValorXML(nodeFiguraTransporte, "TipoFigura", "") - ' MedioTransporte = String.Format("{0} - {1}", CveTransporte, HtTransporte(CveTransporte).ToString()) - 'End If + Dim nodeMercancias As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Mercancia", PrefijoCCP), namespaces) For Each node As XmlNode In nodeMercancias diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 91732112c..c6c2e9e9e 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -1711,8 +1711,19 @@ Public Class Timbrado Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte Dim ComCartaPorte As ProfactCartaPorte.CartaPorte = New ProfactCartaPorte.CartaPorte ComCartaPorte.TranspInternac = CType([Enum].Parse(GetType(ProfactCartaPorte.CartaPorteTranspInternac), Carta.TranspInternac), ProfactCartaPorte.CartaPorteTranspInternac) - ComCartaPorte.EntradaSalidaMercSpecified = False - ComCartaPorte.ViaEntradaSalidaSpecified = False + + ComCartaPorte.RegimenAduaneroSpecified = Carta.RegimenAduanero <> "" + If Carta.RegimenAduanero <> "" Then ComCartaPorte.RegimenAduanero = ProfactCartaPorte.c_RegimenAduanero.EXD + + ComCartaPorte.EntradaSalidaMercSpecified = Carta.EntradaSalidaMercancia <> "" + If Carta.EntradaSalidaMercancia <> "" Then ComCartaPorte.EntradaSalidaMerc = ProfactCartaPorte.CartaPorteEntradaSalidaMerc.Salida + + ComCartaPorte.ViaEntradaSalidaSpecified = Carta.ViaEntradaSalida <> "" + If Carta.ViaEntradaSalida <> "" Then ComCartaPorte.ViaEntradaSalida = ProfactCartaPorte.c_CveTransporte.Item01 + + ComCartaPorte.PaisOrigenDestinoSpecified = Carta.PaisOrigenDestino <> "" + If Carta.PaisOrigenDestino <> "" Then ComCartaPorte.PaisOrigenDestino = ProfactCartaPorte.c_Pais.USA + ComCartaPorte.TotalDistRecSpecified = True ComCartaPorte.TotalDistRec = Carta.TotalDistanciaRecorrida @@ -1794,6 +1805,11 @@ Public Class Timbrado ComCartaPorte.Mercancias.Mercancia(i).MonedaSpecified = False ComCartaPorte.Mercancias.Mercancia(i).FraccionArancelariaSpecified = False If concep.UUIDComercioExt <> "" Then ComCartaPorte.Mercancias.Mercancia(i).UUIDComercioExt = concep.UUIDComercioExt + If concep.TipoMateria <> "" Then + ComCartaPorte.Mercancias.Mercancia(i).TipoMateriaSpecified = True + ComCartaPorte.Mercancias.Mercancia(i).TipoMateria = ProfactCartaPorte.c_TipoMateria.Item01 + If concep.TipoMateria = "05" Then ComCartaPorte.Mercancias.Mercancia(i).DescripcionMateria = concep.TipoMateriaDescripcion + End If If concep.SectorCOFEPRIS <> "" Then 'ComCartaPorte.Mercancias.Mercancia(i).SectorCOFEPRIS = concep.SectorCOFEPRIS @@ -2267,7 +2283,7 @@ Public Class Timbrado Dim sbMsgLog As New StringBuilder sbMsgLog.Append(xmlPrevio) sbMsgLog.Append("------------") - For Each msg As JProperty In Resultados + For Each msg As JObject In Resultados sbMsg.AppendFormat("{0}.
", msg("Value")) sbMsgLog.AppendFormat("{0}-{1}
", msg("Key"), msg("Value")) Next @@ -2537,7 +2553,7 @@ concep.DescripcionesEspecificas.NumeroSerie) Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte ''DATOS GENERALES - cfdi.CartaPorte30("", Carta.TranspInternac, Carta.RegimenAduanero, Carta.EntradaSalidaMercancia, "", Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida, Carta.RegistroISTMO, Carta.UbicacionPoloOrigen, Carta.UbicacionPoloDestino) + cfdi.CartaPorte30("", Carta.TranspInternac, Carta.RegimenAduanero, Carta.EntradaSalidaMercancia, Carta.PaisOrigenDestino, Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida, Carta.RegistroISTMO, Carta.UbicacionPoloOrigen, Carta.UbicacionPoloDestino) 'UBICACIONES If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then @@ -2558,7 +2574,7 @@ concep.DescripcionesEspecificas.NumeroSerie) cfdi.CartaPorte30Mercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), If(concep.ClaveMaterialPeligroso <> "", concep.DescripEmbalaje, ""), concep.SectorCOFEPRIS, concep.NombreIngredienteActivo, concep.NomQuimico, concep.DenominacionGenericaProd, concep.DenominacionDistintivaProd, concep.Fabricante, concep.FechaCaducidad, concep.LoteMedicamento, concep.FormaFarmaceutica, concep.CondicionesEspTransp, concep.RegistroSanitarioFolioAutorizacion, If(Carta.TranspInternac <> "No", concep.PermisoImportacion, ""), If(Carta.TranspInternac <> "No", concep.FolioImpoVUCEM, ""), concep.NumCAS, If(Carta.TranspInternac <> "No", concep.RazonSocialEmpImp, ""), concep.NumRegSanPlagCOFEPRIS, concep.DatosFabricante, concep.DatosFormulador, concep.DatosMaquilador, concep.UsoAutorizado, - concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt) + concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt, concep.TipoMateria, If(concep.TipoMateria = "05", concep.TipoMateriaDescripcion, "")) For Each transp As CFDICartaPorteMercanciaTransporta In concep.MercanciasCantidadTransporta cfdi.CartaPorte30CantidadTransporta(transp.Cantidad, transp.IDOrigen, transp.IDDestino, transp.CvesTransportes) Next diff --git a/App_Code/Timbres.vb b/App_Code/Timbres.vb index dd3934601..c03537ec2 100644 --- a/App_Code/Timbres.vb +++ b/App_Code/Timbres.vb @@ -105,6 +105,7 @@ Public Class Timbres Dim CartaPorte As New CFDICartaPorte CartaPorte.TranspInternac = "No" + CartaPorte.RegimenAduanero = "" CartaPorte.EntradaSalidaMercancia = "" CartaPorte.ViaEntradaSalida = "" @@ -125,6 +126,16 @@ Public Class Timbres Dim DtMovimientos As DataTable = Nothing Dim drT As DataRow = ObjGrales.DtResultados.Rows(0) + CartaPorte.TranspInternac = drT("TranspInternacional").ToString + + If CartaPorte.TranspInternac = "Sí" Then + CartaPorte.RegimenAduanero = drT("RegimenAduanero").ToString + CartaPorte.EntradaSalidaMercancia = drT("EntradaSalidaMercancia").ToString + CartaPorte.ViaEntradaSalida = drT("ViaEntradaSalida").ToString + CartaPorte.PaisOrigenDestino = drT("DirDesClaveSATPais").ToString + End If + + Timbre.Receptor.RFC = drT("EmpresaRFC").ToString Timbre.Receptor.Nombre = drT("EmpresaNombre").ToString Timbre.Receptor.DomicilioFiscalReceptor = drT("DomicilioFiscalReceptor").ToString