diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index e07fb9d12..4c6be812c 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -2236,7 +2236,7 @@ Public Class Timbrado
Dim sbMsgLog As New StringBuilder
sbMsgLog.Append(xmlPrevio)
sbMsgLog.Append("------------")
- For Each msg In Resultados
+ For Each msg As JProperty In Resultados
sbMsg.AppendFormat("{0}.
", msg("Value"))
sbMsgLog.AppendFormat("{0}-{1}
", msg("Key"), msg("Value"))
Next
@@ -2513,6 +2513,7 @@ Public Class Timbrado
''DATOS GENERALES
cfdi.CartaPorte(Carta.TranspInternac, Carta.EntradaSalidaMercancia, "", Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida)
+ 'cfdi.CartaPorte30("", Carta.TranspInternac, Carta.RegimenAduanero, Carta.EntradaSalidaMercancia, "", Carta.ViaEntradaSalida, Carta.TotalDistanciaRecorrida, Carta.RegistroITSMO, Carta.UbicacionPoloOrigen, Carta.UbicacionPoloDestino)
'UBICACIONES
If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then
@@ -2574,6 +2575,75 @@ Public Class Timbrado
End If
+ 'If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then
+
+ ' 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)
+
+ ' 'UBICACIONES
+ ' If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then
+ ' For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones
+ ' 'origen
+ ' cfdi.CartaPorte30Ubicacion(ubica.TipoUbicacion, ubica.IDUbicacion, ubica.RFCRemitenteDestinatario, ubica.NombreRemitenteDestinatario, ubica.NumRegIdTrib, ubica.ResidenciaFiscal, ubica.NumEstacion, ubica.NombreEstacion, ubica.NavegacionTrafico, ubica.FechaHoraSalidaLlegada, ubica.TipoEstacion, ubica.DistanciaRecorrida)
+ ' '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.CartaPorte30Domicilio(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
+ ' If Carta.Mercancias IsNot Nothing Then
+ ' cfdi.CartaPorte30Mercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion, Carta.Mercancias.LogisticaInversaRecoleccionDevolucion)
+ ' If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then
+ ' For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias
+ ' If concep.ValorMercancia <= 0 Then concep.Moneda = ""
+ ' 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, concep.PermisoImportacion, concep.FolioImpoVUCEM, concep.NumCAS, concep.RazonSocialEmpImp, concep.NumRegSanPlagCOFEPRIS, concep.DatosFabricante, concep.DatosFormulador, concep.DatosMaquilador, concep.UsoAutorizado,
+ ' concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt)
+ ' For Each transp As CFDICartaPorteMercanciaTransporta In concep.MercanciasCantidadTransporta
+ ' cfdi.CartaPorte30CantidadTransporta(transp.Cantidad, transp.IDOrigen, transp.IDDestino, transp.CvesTransportes)
+ ' Next
+ ' Next
+ ' End If
+ ' End If
+ ' '
+ ' If Carta.FiguraTransporte IsNot Nothing Then
+
+ ' If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then
+
+ ' cfdi.CartaPorte30Autotransporte(Carta.FiguraTransporte.AutoTransporte.PermisoSCT, Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT)
+
+ ' cfdi.CartaPorte30IdentificacionVehicular(Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PesoBrutoVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM)
+
+ ' cfdi.CartaPorte30Seguros(Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil,
+ ' Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente,
+ ' Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga,
+ ' Carta.FiguraTransporte.AutoTransporte.PrimaSeguro)
+
+ ' If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then
+ ' For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques
+ ' cfdi.CartaPorte30Remolque(concep.SubTipoRemolque, concep.Placa)
+ ' Next
+
+ ' End If
+ ' End If
+
+ ' If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then
+ ' For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores
+ ' cfdi.CartaPorte30TiposFigura(concep.TipoFigura, concep.RFCFigura, concep.NumLicencia, concep.NombreFigura, concep.NumRegidTribFigura, If(concep.ResidenciaFiscalFigura <> "MEX", concep.ResidenciaFiscalFigura, ""))
+ ' If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador
+ ' cfdi.CartaPorte30PartesTransporte("PT01")
+ ' cfdi.CartaPorte30PartesTransporteDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP)
+ ' End If
+ ' Next
+ ' End If
+
+ ' End If
+
+ 'End If
+
#End Region
@@ -2907,9 +2977,11 @@ Public Class Timbrado
If cfdi.Mensaje = "" Then
Dim FolioFiscal As String
+ Dim SelloCfdi As String
UUID = cfdi.CfdiInfo.UUID
- FolioFiscal = cfdi.CfdiInfo.UUID 'obtenerAtributo(cfdi.XmlTimbrado, "TimbreFiscalDigital", "UUID") 'XmlDoc.DocumentElement("cfdi:Complemento").FirstChild.Attributes("UUID").InnerText
+ FolioFiscal = cfdi.CfdiInfo.UUID
+ SelloCfdi = cfdi.CfdiInfo.SelloCfdi
If FolioFiscal <> "" Then
@@ -2979,15 +3051,11 @@ Public Class Timbrado
End If
End Select
-
If Not IO.Directory.Exists($"{UsuarioActual.Empresa.Ruta}CBB\") Then IO.Directory.CreateDirectory($"{UsuarioActual.Empresa.Ruta}CBB\")
-
Try
Dim RutaCBB As String = $"{UsuarioActual.Empresa.Ruta}CBB\{ObjCFDITimbre.Comprobante.SerieFolio}.jpg"
Dim qrCode As New GoFac.QrCode()
- 'String cadenaqrCode = qrCode.GenerarCadenaQrCode(txtXml.Text)
-
- Dim bCBB As Byte() = qrCode.GenerarQrCode($"{LigaVerificacionSAT}?re={UsuarioActual.Empresa.RFC}&rr={ObjCFDITimbre.Receptor.RFC}&tt={String.Format("{0,12:F6}", ObjCFDITimbre.Comprobante.Total).Trim()}&id={FolioFiscal}&fe=ELleDg==")
+ Dim bCBB As Byte() = qrCode.GenerarQrCode($"{LigaVerificacionSAT}?re={UsuarioActual.Empresa.RFC}&rr={ObjCFDITimbre.Receptor.RFC}&tt={String.Format("{0,12:F6}", ObjCFDITimbre.Comprobante.Total).Trim()}&id={FolioFiscal}&fe={SelloCfdi.Substring(SelloCfdi.Length - 8, 8)}")
File.WriteAllBytes(RutaCBB, bCBB)
bCBB = Nothing
Catch ex As Exception