-- mejora en el caso de material peligroso, que no valla etiqueta seguro medio ambiente
This commit is contained in:
@@ -122,8 +122,8 @@ Public Class Timbres
|
||||
Dim DtMovimientos As DataTable = Nothing
|
||||
Dim drT As DataRow = ObjGrales.DtResultados.Rows(0)
|
||||
|
||||
Timbre.Receptor.RFC = drT("RemitenteRFC").ToString
|
||||
Timbre.Receptor.Nombre = drT("RemitenteNombre").ToString
|
||||
Timbre.Receptor.RFC = drT("EmpresaRFC").ToString
|
||||
Timbre.Receptor.Nombre = drT("EmpresaNombre").ToString
|
||||
Timbre.Receptor.DomicilioFiscalReceptor = drT("DirDesCP").ToString
|
||||
Timbre.Receptor.RegimenFiscalReceptor = drT("CodigoRegimenFiscalReceptor").ToString
|
||||
|
||||
@@ -166,8 +166,14 @@ Public Class Timbres
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.NumPermisoSCT = drT("NumPermisoSCT").ToString
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil = drT("NombreAseguradora").ToString
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil = drT("NumPolizaSeguro").ToString
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente = drT("NombreAseguradoraMedioAmbiente").ToString
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente = drT("NumPolizaSeguroMedioAmbiente").ToString
|
||||
|
||||
If Obj.DtDetalle IsNot Nothing AndAlso Obj.DtDetalle.Rows.Count > 0 Then
|
||||
If Obj.DtDetalle.MAX("ClaveMaterialPeligroso") <> "" Then
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente = drT("NombreAseguradoraMedioAmbiente").ToString
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente = drT("NumPolizaSeguroMedioAmbiente").ToString
|
||||
End If
|
||||
End If
|
||||
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroCarga = drT("NombreAseguradoraCarga").ToString
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroCarga = drT("NumPolizaSeguroCarga").ToString
|
||||
CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular = drT("ConfigCartaPorte").ToString
|
||||
@@ -204,104 +210,109 @@ Public Class Timbres
|
||||
.Municipio = drT("DirDesClaveSATMunicipio").ToString,
|
||||
.Localidad = drT("DirDesClaveSATLocalidad").ToString}
|
||||
|
||||
|
||||
Dim Ubica As New CFDICartaPorteUbicacion
|
||||
Ubica.TipoEstacion = ""
|
||||
Ubica = New CFDICartaPorteUbicacion With {.TipoUbicacion = "Origen", .IDUbicacion = "OR000001", .RFCRemitenteDestinatario = drT("RemitenteRFC").ToString,
|
||||
.FechaHoraSalidaLlegada = FechaSalida.ToString("yyyy-MM-ddTHH:mm:ss"),' "2021-08-23T11:13:01",
|
||||
.NombreRemitenteDestinatario = drT("RemitenteNombre").ToString,
|
||||
.Domicilio = DomOrigen}
|
||||
CartaPorte.Ubicaciones.Add(Ubica)
|
||||
Ubica = New CFDICartaPorteUbicacion With {.TipoUbicacion = "Destino", .IDUbicacion = "DE000001", .RFCRemitenteDestinatario = drT("DestinatarioRFC").ToString,
|
||||
.FechaHoraSalidaLlegada = FechaLlegada.ToString("yyyy-MM-ddTHH:mm:ss"),
|
||||
.NombreRemitenteDestinatario = drT("DestinatarioNombre").ToString,
|
||||
.Domicilio = DomDestino,
|
||||
.DistanciaRecorrida = Distancia}
|
||||
|
||||
CartaPorte.Ubicaciones.Add(Ubica)
|
||||
CartaPorte.FiguraTransporte.ClaveTransporte = "01"
|
||||
|
||||
Dim DomicilioOperador As New CFDICartaPorteDomicilio With {.Calle = drT("FiguraDomicilio").ToString,
|
||||
.NumeroExterior = drT("FiguraNumeroExterior").ToString,
|
||||
.NumeroInterior = drT("FiguraNumeroInterior").ToString,
|
||||
.Colonia = drT("FiguraClaveSATColonia").ToString,
|
||||
.Municipio = drT("FiguraClaveSATMunicipio").ToString,
|
||||
.Estado = drT("FiguraClaveSATEstado").ToString,
|
||||
.CP = drT("FiguraCP").ToString}
|
||||
|
||||
|
||||
|
||||
CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With {
|
||||
.RFCFigura = drT("FiguraRFC").ToString,
|
||||
.NombreFigura = drT("FiguraChofer").ToString,
|
||||
.NumLicencia = drT("FiguraLicencia").ToString,
|
||||
.NumRegidTribFigura = drT("FiguraNumRegidTribFigura").ToString,
|
||||
.ResidenciaFiscalFigura = drT("FiguraResidenciaFiscalFigura").ToString,
|
||||
.Domicilio = DomicilioOperador})
|
||||
|
||||
|
||||
'concepto único
|
||||
Dim concepto As New CFDIConceptos With {.Cantidad = 1,
|
||||
.Descripcion = "Traslado",
|
||||
.ValorUnitario = 0,
|
||||
.Importe = 0,
|
||||
.Descuento = 0,
|
||||
.Unidad = "Servicio",
|
||||
.ClaveUnidad = "E48",
|
||||
.ClaveProdServ = "78101802",
|
||||
.Noidentificacion = "",
|
||||
.CuentaPredial = ""}
|
||||
|
||||
Timbre.Conceptos.Add(concepto)
|
||||
|
||||
For Each drr As DataRow In Obj.DtDetalle.Rows
|
||||
|
||||
If drr("PS").ToString.Length = 1 Then
|
||||
tPS = drr("Obs").ToString
|
||||
Else
|
||||
If drr("PS").ToString.Length = 0 Then
|
||||
tPS = ""
|
||||
Else
|
||||
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
|
||||
End If
|
||||
End If
|
||||
Dim conceptoCarta As New CFDICartaPorteMercancia With {
|
||||
.BienesTransp = drr("SATClaveProdServ").ToString,
|
||||
.ClaveSTCC = "", 'para metodo ferroviario
|
||||
.Cantidad = drr("Cantidad").ToString.ToDecimal,
|
||||
.Descripción = tPS,
|
||||
.ClaveUnidad = drr("SATClaveUM").ToString,
|
||||
.Unidad = drr("UM").ToString,
|
||||
.Dimensiones = drr("Dimensiones").ToString,
|
||||
.PesoenKg = drr("PesoKg").ToString.ToDecimal * drr("Cantidad").ToString.ToDecimal,
|
||||
.MaterialPeligroso = If(drr("ClaveMaterialPeligroso").ToString <> "", "Sí", ""),
|
||||
.ClaveMaterialPeligroso = drr("ClaveMaterialPeligroso").ToString,
|
||||
.Embalaje = drr("ClaveEmbalaje").ToString,
|
||||
.DescripEmbalaje = drr("Embalaje").ToString,
|
||||
.ValorMercancia = drr("PU").ToString.ToDecimal,
|
||||
.Moneda = "MXN", 'temporal
|
||||
.FraccionArrancelaria = "",
|
||||
.UUIDComercioExt = ""
|
||||
}
|
||||
|
||||
Dim DetalleMercancia As New CFDICartaPorteMercanciaDetalleMercancia With {.PesoNeto = drr("PesoKg").ToString.ToDecimal * drr("Cantidad").ToString.ToDecimal, .NumPiezas = drr("Cantidad").ToString.ToDecimal}
|
||||
conceptoCarta.DetalleMercancia = DetalleMercancia
|
||||
|
||||
Dim MercanciaTransporta As New CFDICartaPorteMercanciaTransporta With {.Cantidad = drr("Cantidad").ToString.ToDecimal, .IDOrigen = "OR000001", .IDDestino = "DE000001"}
|
||||
conceptoCarta.MercanciasCantidadTransporta.Add(MercanciaTransporta)
|
||||
|
||||
totSubTotal = totSubTotal - concepto.Importe
|
||||
CartaPorte.Mercancias.Mercancias.Add(conceptoCarta)
|
||||
|
||||
i += 1
|
||||
Next
|
||||
Timbre.Complementos.CartaPorte = CartaPorte
|
||||
|
||||
Else
|
||||
'' T R A S L A D O S
|
||||
|
||||
'DETALLES
|
||||
If Obj.DtDetalle IsNot Nothing Then
|
||||
Dim NumRegIdTrib As String = ""
|
||||
If drT("DestinatarioRFC").ToString.Contiene("XEXX010101000") Then ' cuando es Extranjero, debe de llevar un numregidtrib
|
||||
NumRegIdTrib = "121585958"
|
||||
End If
|
||||
|
||||
Dim Ubica As New CFDICartaPorteUbicacion
|
||||
Ubica.TipoEstacion = ""
|
||||
Ubica = New CFDICartaPorteUbicacion With {.TipoUbicacion = "Origen", .IDUbicacion = "OR000001", .RFCRemitenteDestinatario = drT("RemitenteRFC").ToString,
|
||||
.FechaHoraSalidaLlegada = FechaSalida.ToString("yyyy-MM-ddTHH:mm:ss"),' "2021-08-23T11:13:01",
|
||||
.NombreRemitenteDestinatario = drT("RemitenteNombre").ToString,
|
||||
.Domicilio = DomOrigen}
|
||||
CartaPorte.Ubicaciones.Add(Ubica)
|
||||
Ubica = New CFDICartaPorteUbicacion With {.TipoUbicacion = "Destino", .IDUbicacion = "DE000001", .RFCRemitenteDestinatario = drT("DestinatarioRFC").ToString,
|
||||
.FechaHoraSalidaLlegada = FechaLlegada.ToString("yyyy-MM-ddTHH:mm:ss"),
|
||||
.NombreRemitenteDestinatario = drT("DestinatarioNombre").ToString,
|
||||
.Domicilio = DomDestino,
|
||||
.DistanciaRecorrida = Distancia,
|
||||
.NumRegIdTrib = NumRegIdTrib}
|
||||
|
||||
CartaPorte.Ubicaciones.Add(Ubica)
|
||||
CartaPorte.FiguraTransporte.ClaveTransporte = "01"
|
||||
|
||||
Dim DomicilioOperador As New CFDICartaPorteDomicilio With {.Calle = drT("FiguraDomicilio").ToString,
|
||||
.NumeroExterior = drT("FiguraNumeroExterior").ToString,
|
||||
.NumeroInterior = drT("FiguraNumeroInterior").ToString,
|
||||
.Colonia = drT("FiguraClaveSATColonia").ToString,
|
||||
.Municipio = drT("FiguraClaveSATMunicipio").ToString,
|
||||
.Estado = drT("FiguraClaveSATEstado").ToString,
|
||||
.CP = drT("FiguraCP").ToString}
|
||||
|
||||
|
||||
|
||||
CartaPorte.FiguraTransporte.Operadores.Add(New CFDICartaPorteOperador With {
|
||||
.RFCFigura = drT("FiguraRFC").ToString,
|
||||
.NombreFigura = drT("FiguraChofer").ToString,
|
||||
.NumLicencia = drT("FiguraLicencia").ToString,
|
||||
.NumRegidTribFigura = drT("FiguraNumRegidTribFigura").ToString,
|
||||
.ResidenciaFiscalFigura = drT("FiguraResidenciaFiscalFigura").ToString,
|
||||
.Domicilio = DomicilioOperador})
|
||||
|
||||
|
||||
'concepto único
|
||||
Dim concepto As New CFDIConceptos With {.Cantidad = 1,
|
||||
.Descripcion = "Traslado",
|
||||
.ValorUnitario = 0,
|
||||
.Importe = 0,
|
||||
.Descuento = 0,
|
||||
.Unidad = "Servicio",
|
||||
.ClaveUnidad = "E48",
|
||||
.ClaveProdServ = "78101802",
|
||||
.Noidentificacion = "",
|
||||
.CuentaPredial = ""}
|
||||
|
||||
Timbre.Conceptos.Add(concepto)
|
||||
|
||||
For Each drr As DataRow In Obj.DtDetalle.Rows
|
||||
|
||||
If drr("PS").ToString.Length = 1 Then
|
||||
tPS = drr("Obs").ToString
|
||||
Else
|
||||
If drr("PS").ToString.Length = 0 Then
|
||||
tPS = ""
|
||||
Else
|
||||
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
|
||||
End If
|
||||
End If
|
||||
Dim conceptoCarta As New CFDICartaPorteMercancia With {
|
||||
.BienesTransp = drr("SATClaveProdServ").ToString,
|
||||
.ClaveSTCC = "", 'para metodo ferroviario
|
||||
.Cantidad = drr("Cantidad").ToString.ToDecimal,
|
||||
.Descripción = tPS,
|
||||
.ClaveUnidad = drr("SATClaveUM").ToString,
|
||||
.Unidad = drr("UM").ToString,
|
||||
.Dimensiones = drr("Dimensiones").ToString,
|
||||
.PesoenKg = drr("PesoKg").ToString.ToDecimal * drr("Cantidad").ToString.ToDecimal,
|
||||
.MaterialPeligroso = If(drr("ClaveMaterialPeligroso").ToString <> "", "Sí", ""),
|
||||
.ClaveMaterialPeligroso = drr("ClaveMaterialPeligroso").ToString,
|
||||
.Embalaje = drr("ClaveEmbalaje").ToString,
|
||||
.DescripEmbalaje = drr("Embalaje").ToString,
|
||||
.ValorMercancia = drr("PU").ToString.ToDecimal,
|
||||
.Moneda = "MXN", 'temporal
|
||||
.FraccionArrancelaria = "",
|
||||
.UUIDComercioExt = ""
|
||||
}
|
||||
|
||||
Dim DetalleMercancia As New CFDICartaPorteMercanciaDetalleMercancia With {.PesoNeto = drr("PesoKg").ToString.ToDecimal * drr("Cantidad").ToString.ToDecimal, .NumPiezas = drr("Cantidad").ToString.ToDecimal}
|
||||
conceptoCarta.DetalleMercancia = DetalleMercancia
|
||||
|
||||
Dim MercanciaTransporta As New CFDICartaPorteMercanciaTransporta With {.Cantidad = drr("Cantidad").ToString.ToDecimal, .IDOrigen = "OR000001", .IDDestino = "DE000001"}
|
||||
conceptoCarta.MercanciasCantidadTransporta.Add(MercanciaTransporta)
|
||||
|
||||
totSubTotal = totSubTotal - concepto.Importe
|
||||
CartaPorte.Mercancias.Mercancias.Add(conceptoCarta)
|
||||
|
||||
i += 1
|
||||
Next
|
||||
Timbre.Complementos.CartaPorte = CartaPorte
|
||||
|
||||
Else
|
||||
'' T R A S L A D O S
|
||||
|
||||
'DETALLES
|
||||
If Obj.DtDetalle IsNot Nothing Then
|
||||
For Each drr As DataRow In Obj.DtDetalle.Rows
|
||||
|
||||
If drr("PS").ToString.Length = 1 Then
|
||||
|
||||
Reference in New Issue
Block a user