-- correcciónes

This commit is contained in:
2024-04-24 21:52:01 -07:00
parent 75f69a2089
commit 13ae12872b

View File

@@ -240,576 +240,6 @@ Partial Class PopUpVerFactura
End If
End Sub
'temporal
Protected Sub ImprimeFormatoCartaPorteTimbrado(CveTimbre As Integer)
Dim resp As Modelos.MSubReportData = PreParaImpresionCartaPorte(CveTimbre)
If resp.DataSources.Count > 0 AndAlso resp.Parametros.Count > 0 Then
ImprimirPDF("Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc", resp.DataSources, resp.Parametros, resp.SerieFolio)
End If
End Sub
Private Function PreParaImpresionCartaPorte(CveTimbre As Integer, Optional AplicaSubReporte As Boolean = False) As Modelos.MSubReportData
Dim retorno As New Modelos.MSubReportData
retorno.Nombre = "CartaPorte"
Try
If CveTimbre > 0 Then
Dim params As New List(Of ReportParameter)
'01 Autotransporte Federal
'02 Transporte Marítimo
'03 Transporte Aéreo
'04 Transporte Ferroviario
'05 Ducto
Dim HtTransporte As New Hashtable()
HtTransporte.Add("01", "Autotransporte Federal")
HtTransporte.Add("02", "Transporte Marítimo")
HtTransporte.Add("03", "Transporte Aéreo")
HtTransporte.Add("04", "Transporte Ferroviario")
HtTransporte.Add("05", "Ducto")
'EMISOR
Dim LugarExpedicion As String = ""
Dim ImgCBB As String = ""
Dim ImgCCP As String = ""
'COMPROBANTE
Dim SerieFolio As String = ""
Dim Telefono As String = ""
Dim SubTotal As Decimal = 0
Dim Descuentos As Decimal = 0
Dim Total As Decimal = 0
'DATOS DEL CLIENTE
Dim ClienteRFC As String = ""
Dim ClienteNombre As String = ""
Dim ClienteUsoCFDi As String = ""
'TRANSPORTE
Dim MedioTransporte As String = ""
Dim TransporteInternacional As String = ""
Dim PermisoSTCC As String = ""
Dim NumPermiso As String = ""
Dim AseguradoraRespCivil As String = ""
Dim NumPolizaSeguroRespCivil As String = ""
Dim NombreAseguradoraMedioAmbiente As String = ""
Dim NumPolizaSeguroMedioAmbiente As String = ""
Dim NombreAseguradoraCarga As String = ""
Dim NumPolizaSeguroCarga As String = ""
Dim RemolquePlaca1 As String = ""
Dim RemolquePlaca2 As String = ""
Dim RemolqueSubtimo1 As String = ""
Dim RemolqueSubtimo2 As String = ""
Dim PlacaVM As String = ""
Dim AnioModeloVM As String = ""
Dim PesoBrutoVehicular As String = ""
'TIMBRADO
Dim FolioFiscal As String = ""
Dim NoCertificadoSAT As String = ""
Dim CadenaOriginal As String = ""
Dim NoSerieCertificado As String = ""
Dim FechaCertificacion As DateTime = Nothing
Dim SelloCFDi As String = ""
Dim SelloSAT As String = ""
Dim TipoDocto As String = ""
Dim PermisoSCTR1 As String = ""
Dim PermisoSCTR2 As String = ""
Dim ConfATR1 As String = ""
Dim ConfATR2 As String = ""
Dim ObjInv As New ClsGenerales
If ObjInv.GetGralTimbre(CveTimbre, "-1", MinFecha, MaxFecha, -1, UsuarioActual.CveEmpresa, -1) Then
If ObjInv.DtResultados.Rows.Count > 0 Then
Dim Dr As DataRow = ObjInv.DtResultados.Rows(0)
If Dr IsNot Nothing Then
SerieFolio = Dr("SerieFolio").ToString
Telefono = Dr("FiguraTelefono").ToString
TipoDocto = Dr("TipoDocto").ToString
If UsuarioActual.CveEmpresa = 13 Then
PermisoSCTR1 = Dr("PermisoSCTR1").ToString
PermisoSCTR2 = Dr("PermisoSCTR2").ToString
ConfATR1 = Dr("ConfATR1").ToString
ConfATR2 = Dr("ConfATR2").ToString
End If
End If
End If
End If
ObjInv.Dispose()
retorno.SerieFolio = SerieFolio
Dim DtConceptos As New DataTable()
DtConceptos.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
DtConceptos.Columns.Add(New DataColumn("Unidad", GetType(String)))
DtConceptos.Columns.Add(New DataColumn("Descripcion", GetType(String)))
DtConceptos.Columns.Add(New DataColumn("ValorUnitario", GetType(Decimal)))
DtConceptos.Columns.Add(New DataColumn("Importe", GetType(Decimal)))
Dim DtUbicaciones As New DataTable()
DtUbicaciones.Columns.Add(New DataColumn("Distancia", GetType(String)))
DtUbicaciones.Columns.Add(New DataColumn("TipoUbicacion", GetType(String)))
DtUbicaciones.Columns.Add(New DataColumn("RFC", GetType(String)))
DtUbicaciones.Columns.Add(New DataColumn("Nombre", GetType(String)))
DtUbicaciones.Columns.Add(New DataColumn("FechaHoraSalida", GetType(DateTime)))
DtUbicaciones.Columns.Add(New DataColumn("Direccion", GetType(String)))
Dim DtMercancias As New DataTable()
DtMercancias.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
DtMercancias.Columns.Add(New DataColumn("UnidadMedida", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("Descripcion", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("PesoEnKg", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("CveMaterialPeligroso", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("Embalaje", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("SectorCOFEPRIS", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("NombreIngredienteActivo", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("NomQuimico", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("DenominacionGenerica", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("DenominacionDistintiva", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("Fabricante", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("FormaFarmaceutica", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("CondicionesTransporte", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("RegistroSanitarioAutorizacion", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("PermisoImportacion", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("FolioImportacionVUCEM", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("NumCAS", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("RazonSocialEmpImportacion", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("NumRegistroPlagCOFEPRIS", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("DatosFabricante", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("DatosFormulador", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("DatosMaquilador", GetType(String)))
DtMercancias.Columns.Add(New DataColumn("UsoAutorizado", GetType(String)))
Dim DtOperadores As New DataTable()
DtOperadores.Columns.Add(New DataColumn("RFC", GetType(String)))
DtOperadores.Columns.Add(New DataColumn("NumLicencia", GetType(String)))
DtOperadores.Columns.Add(New DataColumn("NombreOperador", GetType(String)))
Dim DTRelacionados As New DataTable()
DTRelacionados.Columns.Add(New DataColumn("Relacion", GetType(String)))
DTRelacionados.Columns.Add(New DataColumn("UUID", GetType(String)))
Dim XMLDoc As New XmlDocument
Dim Path As String = String.Format("{0}\{1}\{2}\{3}.{4}", UsuarioActual.Empresa.Ruta, "XML", TipoDocto, String.Format("{0}", SerieFolio), "xml")
Dim Archivo As New System.IO.FileInfo(Path)
If Archivo.Exists Then
Try
XMLDoc.Load(Path)
Catch ex As Exception
Try
Dim oReader As New StreamReader(Path, Encoding.GetEncoding("ISO-8859-1"))
XMLDoc.Load(oReader)
oReader.Dispose()
Catch ex2 As Exception
GuardaLog("Error al intentar leer el XML del SAT. Error:" & ex2.ToString())
End Try
End Try
End If
If XMLDoc IsNot Nothing AndAlso Archivo.Exists Then
Dim RutaCBB As String = String.Format("{0}\CBB\{1}.jpg", UsuarioActual.Empresa.Ruta, SerieFolio)
Dim ImagenCBB As New System.IO.FileInfo(RutaCBB)
Dim RutaCCP As String = String.Format("{0}\CBB\{1}_CCP.jpg", UsuarioActual.Empresa.Ruta, SerieFolio)
Dim ImagenCCP As New System.IO.FileInfo(RutaCCP)
Dim Prefijo As String = If(XMLDoc.DocumentElement.Prefix = "", "cfd", XMLDoc.DocumentElement.Prefix)
Dim cfdVer As String = "http://www.sat.gob.mx/cfd/3"
Dim namespaces As New XmlNamespaceManager(XMLDoc.NameTable)
Dim Version As String = ValorXML(XMLDoc.DocumentElement, "version")
Dim VersionCCP As String = ""
Dim PrefijoCCP As String = ""
If Version = "3.3" Then
cfdVer = "http://www.sat.gob.mx/cfd/3"
Else ' se considera que es la version 4.0
cfdVer = "http://www.sat.gob.mx/cfd/4"
End If
params.Add(New ReportParameter("CFDIVersion", Version))
namespaces.AddNamespace(Prefijo, cfdVer)
namespaces.AddNamespace("tfd", "http://www.sat.gob.mx/TimbreFiscalDigital")
namespaces.AddNamespace("implocal", "http://www.sat.gob.mx/implocal")
namespaces.AddNamespace("registrofiscal", "http://www.sat.gob.mx/registrofiscal")
namespaces.AddNamespace("cartaporte", "http://www.sat.gob.mx/CartaPorte")
namespaces.AddNamespace("cartaporte20", "http://www.sat.gob.mx/CartaPorte20")
namespaces.AddNamespace("cartaporte30", "http://www.sat.gob.mx/CartaPorte30")
Dim Nodos30 As XmlNode = XMLDoc.SelectSingleNode("//cartaporte30:CartaPorte", namespaces)
Dim Nodos20 As XmlNode = XMLDoc.SelectSingleNode("//cartaporte20:CartaPorte", namespaces)
If Nodos30 IsNot Nothing Then
VersionCCP = "3.0"
PrefijoCCP = "cartaporte30"
End If
If Nodos20 IsNot Nothing Then
VersionCCP = "2.0"
PrefijoCCP = "cartaporte20"
End If
params.Add(New ReportParameter("CartaPorteVersion", VersionCCP))
Dim nodeComprobante As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Comprobante", Prefijo), namespaces)
If nodeComprobante IsNot Nothing Then
LugarExpedicion = ValorXML(nodeComprobante, "LugarExpedicion")
SubTotal = ValorXML(nodeComprobante, "SubTotal").ToDecimal()
Total = ValorXML(nodeComprobante, "Total").ToDecimal()
End If
Dim nodeCliente As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Receptor", Prefijo), namespaces)
If nodeCliente IsNot Nothing Then
ClienteRFC = ValorXML(nodeCliente, "RFC")
ClienteNombre = ValorXML(nodeCliente, "Nombre")
Dim UsoCFDI As String = ValorXML(nodeCliente, "UsoCFDI")
ClienteUsoCFDi = String.Format("{0} - {1}", UsoCFDI, GlobalDTSATUsosCFDI().FiltroPrimeroValor("Descripcion", String.Format("UsoCFDI = '{0}'", UsoCFDI)))
End If
Dim nodeConceptos As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Conceptos", Prefijo), namespaces)
If nodeConceptos IsNot Nothing Then
For Each node As XmlNode In nodeConceptos.ChildNodes
Dim Row As DataRow = DtConceptos.NewRow
Row("Cantidad") = ValorXML(node, "Cantidad", "")
Row("Unidad") = ValorXML(node, "Unidad", "")
Row("Descripcion") = ValorXML(node, "Descripcion", "")
Row("ValorUnitario") = ValorXML(node, "ValorUnitario", "")
Row("Importe") = ValorXML(node, "Importe", "")
DtConceptos.Rows.Add(Row)
Next
End If
Dim nodeComp As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:Comprobante/{0}:Complemento", Prefijo), namespaces)
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 CveTransporte <> "" Then MedioTransporte = String.Format("{0} - {1}", CveTransporte, HtTransporte(CveTransporte).ToString())
End If
Dim nodeAutotransporteFederal As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:Autotransporte", PrefijoCCP), namespaces)
If nodeAutotransporteFederal IsNot Nothing Then
PermisoSTCC = ValorXML(nodeAutotransporteFederal, "PermSCT", "")
NumPermiso = ValorXML(nodeAutotransporteFederal, "NumPermisoSCT", "")
End If
Dim nodeIdentificacionVehicular As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:IdentificacionVehicular", PrefijoCCP), namespaces)
If nodeIdentificacionVehicular IsNot Nothing Then
PlacaVM = ValorXML(nodeIdentificacionVehicular, "PlacaVM", "")
AnioModeloVM = ValorXML(nodeIdentificacionVehicular, "AnioModeloVM", "")
PesoBrutoVehicular = ValorXML(nodeIdentificacionVehicular, "PesoBrutoVehicular", "")
End If
Dim nodeSeguros As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:Seguros", PrefijoCCP), namespaces)
If nodeIdentificacionVehicular IsNot Nothing Then
AseguradoraRespCivil = ValorXML(nodeSeguros, "AseguraRespCivil", "")
NumPolizaSeguroRespCivil = ValorXML(nodeSeguros, "PolizaRespCivil", "")
'Por Definir de donde sale
NombreAseguradoraMedioAmbiente = ValorXML(nodeSeguros, "AseguraMedAmbiente", "")
NumPolizaSeguroMedioAmbiente = ValorXML(nodeSeguros, "PolizaMedAmbiente", "")
NombreAseguradoraCarga = ValorXML(nodeSeguros, "AseguraCarga", "")
NumPolizaSeguroCarga = ValorXML(nodeSeguros, "PolizaCarga", "")
End If
Dim nodeRemolques As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:Remolques", PrefijoCCP), namespaces)
If nodeRemolques IsNot Nothing Then
If nodeRemolques.ChildNodes.Count = 1 Then
RemolquePlaca1 = ValorXML(nodeRemolques.ChildNodes(0), "Placa", "")
RemolqueSubtimo1 = ValorXML(nodeRemolques.ChildNodes(0), "SubTipoRem", "")
ElseIf nodeRemolques.ChildNodes.Count > 1 Then
RemolquePlaca1 = ValorXML(nodeRemolques.ChildNodes(0), "Placa", "")
RemolqueSubtimo1 = ValorXML(nodeRemolques.ChildNodes(0), "SubTipoRem", "")
RemolquePlaca2 = ValorXML(nodeRemolques.ChildNodes(1), "Placa", "")
RemolqueSubtimo2 = ValorXML(nodeRemolques.ChildNodes(1), "SubTipoRem", "")
End If
End If
Dim nodeMercancias As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Mercancia", PrefijoCCP), namespaces)
For Each node As XmlNode In nodeMercancias
Dim Row As DataRow = DtMercancias.NewRow
Row("Cantidad") = ValorXML(node, "Cantidad", "")
Row("UnidadMedida") = ValorXML(node, "Unidad", "")
Row("Descripcion") = ValorXML(node, "Descripcion", "")
Row("PesoEnKg") = ValorXML(node, "PesoEnKg", "")
Row("CveMaterialPeligroso") = ValorXML(node, "CveMaterialPeligroso", "")
Row("Embalaje") = ValorXML(node, "Embalaje", "")
Row("SectorCOFEPRIS") = ValorXML(node, "SectorCOFEPRIS", "")
Row("NombreIngredienteActivo") = ValorXML(node, "NombreIngredienteActivo", "")
Row("NomQuimico") = ValorXML(node, "NomQuimico", "")
Row("DenominacionGenerica") = ValorXML(node, "DenominacionGenerica", "")
Row("DenominacionDistintiva") = ValorXML(node, "DenominacionDistintiva", "")
Row("Fabricante") = ValorXML(node, "Fabricante", "")
Row("FormaFarmaceutica") = ValorXML(node, "FormaFarmaceutica", "")
Row("CondicionesTransporte") = ValorXML(node, "CondicionesTransporte", "")
Row("RegistroSanitarioAutorizacion") = ValorXML(node, "RegistroSanitarioAutorizacion", "")
Row("PermisoImportacion") = ValorXML(node, "PermisoImportacion", "")
Row("FolioImportacionVUCEM") = ValorXML(node, "FolioImportacionVUCEM", "")
Row("NumCAS") = ValorXML(node, "NumCAS", "")
Row("RazonSocialEmpImportacion") = ValorXML(node, "RazonSocialEmpImportacion", "")
Row("NumRegistroPlagCOFEPRIS") = ValorXML(node, "NumRegistroPlagCOFEPRIS", "")
Row("DatosFabricante") = ValorXML(node, "DatosFabricante", "")
Row("DatosFormulador") = ValorXML(node, "DatosFormulador", "")
Row("DatosMaquilador") = ValorXML(node, "DatosMaquilador", "")
Row("UsoAutorizado") = ValorXML(node, "UsoAutorizado", "")
DtMercancias.Rows.Add(Row)
Next
Dim nodeMercanciaPadre As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Mercancias", PrefijoCCP), namespaces)
If UsuarioActual.CveEmpresa = 13 AndAlso nodeMercanciaPadre IsNot Nothing Then
Dim PesoNetoTotal As String = ValorXML(nodeMercanciaPadre(0), "PesoNetoTotal", "")
Dim UnidadPeso As String = ValorXML(nodeMercanciaPadre(0), "UnidadPeso", "")
Dim NumTotalMercancias As String = ValorXML(nodeMercanciaPadre(0), "NumTotalMercancias", "")
params.Add(New ReportParameter("PesoNetoTotal", PesoNetoTotal))
params.Add(New ReportParameter("UnidadPeso", UnidadPeso))
params.Add(New ReportParameter("NumTotalMercancias", NumTotalMercancias))
End If
Dim nodeOperadores As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:TiposFigura", PrefijoCCP), namespaces)
For Each node As XmlNode In nodeOperadores
Dim Row As DataRow = DtOperadores.NewRow
Row("RFC") = ValorXML(node, "RFCFigura", "")
Row("NumLicencia") = ValorXML(node, "NumLicencia", "")
Row("NombreOperador") = ValorXML(node, "NombreFigura", "")
DtOperadores.Rows.Add(Row)
Next
Dim DistanciaTotal As Decimal = 0
Dim nodeUbicaciones As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Ubicacion", PrefijoCCP), namespaces)
For Each node As XmlNode In nodeUbicaciones
Dim Row As DataRow = DtUbicaciones.NewRow
Row("Distancia") = ValorXML(node, "DistanciaRecorrida", "")
DistanciaTotal += Row("Distancia").ToString().ToDecimal()
Row("TipoUbicacion") = ValorXML(node, "TipoUbicacion", "")
Row("FechaHoraSalida") = ValorXML(node, "FechaHoraSalidaLlegada", "")
Row("RFC") = ValorXML(node, "RFCRemitenteDestinatario", "")
Row("Nombre") = ValorXML(node, "NombreRemitenteDestinatario", "")
Dim nodeDomicilio As XmlNode = node.ChildNodes.Cast(Of XmlNode).FirstOrDefault(Function(x) x.Name = $"{PrefijoCCP}:Domicilio") 'node.SelectSingleNode(String.Format("//{0}:Domicilio", "cartaporte"), namespaces)
If nodeDomicilio IsNot Nothing Then
Dim Estado As String = ""
Dim Municipio As String = ""
Dim Colonia As String = ""
Dim calle As String = ValorXML(nodeDomicilio, "Calle", "")
Dim CP As String = ValorXML(nodeDomicilio, "CodigoPostal", "")
Dim dr As DataRow = GlobalDTGralColonias(ValorXML(nodeDomicilio, "Estado", ""), ValorXML(nodeDomicilio, "Municipio", ""), ValorXML(nodeDomicilio, "Colonia", "")).FiltroPrimero("")
If dr IsNot Nothing Then
Estado = dr("NombreEstado").ToString
Municipio = dr("NombreMunicipio").ToString
Colonia = dr("NombreAsentamiento").ToString
End If
Row("Direccion") = String.Format("{0} Col.{1},{2},{3}. CP {4}", calle, Colonia, Municipio, Estado, CP)
End If
DtUbicaciones.Rows.Add(Row)
Next
If UsuarioActual.CveEmpresa = 13 Then
params.Add(New ReportParameter("DistanciaTotal", DistanciaTotal.ToString()))
End If
Dim nodeRelacion As XmlNode = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces)
If nodeRelacion IsNot Nothing Then
Dim RelacionCodigo As String = ValorXML(nodeRelacion, "TipoRelacion")
Dim Relacion As String = ""
Select Case RelacionCodigo
Case "01"
Relacion = "01 - Nota de crédito de los documentos relacionados"
Case "02"
Relacion = "02 - Nota de débito de los documentos relacionados"
Case "03"
Relacion = "03 - Devolución de mercancía sobre facturas o traslados previos"
Case "04"
Relacion = "04 - Sustitución de los CFDI previos"
Case "05"
Relacion = "05 - Traslados de mercancias facturados previamente"
Case "06"
Relacion = "06 - Factura generada por los traslados previos"
Case "07"
Relacion = "07 - CFDI por aplicación de anticipo"
Case "08"
Relacion = "08 - Factura generada por pagos en parcialidades"
Case "09"
Relacion = "09 - Factura generada por pagos diferidos"
End Select
Dim nodoDocumentosRelacionados As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces)
For Each node As XmlNode In nodoDocumentosRelacionados
Dim nRow As DataRow = DTRelacionados.NewRow
nRow("Relacion") = Relacion
Try
Dim nodoUUID As XmlNode = node.ChildNodes.Cast(Of XmlNode).FirstOrDefault(Function(x) x.Name = "cfdi:CfdiRelacionado")
nRow("UUID") = ValorXML(nodoUUID, "UUID", "")
Catch ex As Exception
nRow("UUID") = ""
End Try
DTRelacionados.Rows.Add(nRow)
Next
End If
Dim nodeTFD As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:TimbreFiscalDigital", "tfd"), namespaces)
If nodeTFD IsNot Nothing Then
FolioFiscal = ValorXML(nodeTFD, "UUID", "")
NoSerieCertificado = ValorXML(nodeTFD, "NoCertificadoSAT", "")
FechaCertificacion = ValorXML(nodeTFD, "FechaTimbrado", "").ToDateTime
SelloCFDi = ValorXML(nodeTFD, "SelloCFD", "")
SelloSAT = ValorXML(nodeTFD, "SelloSAT", "")
NoCertificadoSAT = ValorXML(nodeTFD, "NoCertificadoSAT", "")
CadenaOriginal = "||1.0|" + FolioFiscal + "|" + FechaCertificacion.ToString("yyyy-MM-dd") + "T" + FechaCertificacion.ToString("HH:mm:ss") + "|" + SelloCFDi + "|" + NoSerieCertificado + "||"
End If
If Not ImagenCBB.Exists Then GeneraQRSAT(UsuarioActual.Empresa.RFC, ClienteRFC, Total, FolioFiscal, RutaGuardado:=RutaCBB)
ImagenCBB = New System.IO.FileInfo(RutaCBB)
If ImagenCBB.Exists Then
ImgCBB = String.Format("file://{0}", ImagenCBB.FullName)
Else
ImgCBB = ""
End If
ImagenCCP = New System.IO.FileInfo(RutaCCP)
If ImagenCCP.Exists Then
ImgCCP = String.Format("file://{0}", ImagenCCP.FullName)
Else
ImgCCP = ""
End If
End If
If DtConceptos.Rows.Count > 0 Then
params.Add(New ReportParameter("LogoPath", RutaImagenLogo))
'EMPRESA
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("RegimenFiscal", UsuarioActual.Empresa.Regimen))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", NowADS().ToDateTime.ToShortDateString))
params.Add(New ReportParameter("DomicilioFiscal", $"{UsuarioActual.Empresa.Direccion}, {UsuarioActual.Empresa.Colonia}, {UsuarioActual.Empresa.Localidad}, {UsuarioActual.Empresa.Estado}, Tel. {Telefono}"))
params.Add(New ReportParameter("SerieFolio", SerieFolio))
params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC))
params.Add(New ReportParameter("DomicilioExpedicion", LugarExpedicion))
'CLIENTE
params.Add(New ReportParameter("ClienteNombre", ClienteNombre))
params.Add(New ReportParameter("ClienteRFC", ClienteRFC))
params.Add(New ReportParameter("UsoCFDi", ClienteUsoCFDi))
'TRANSPORTE
params.Add(New ReportParameter("MedioTransporte", MedioTransporte))
params.Add(New ReportParameter("TransporteInternacional", TransporteInternacional))
params.Add(New ReportParameter("PermisoSTCC", PermisoSTCC))
params.Add(New ReportParameter("NumPermiso", NumPermiso))
params.Add(New ReportParameter("Aseguradora", AseguradoraRespCivil))
params.Add(New ReportParameter("NumPoliza", NumPolizaSeguroRespCivil))
params.Add(New ReportParameter("NombreAseguradoraMedioAmbiente", NombreAseguradoraMedioAmbiente))
params.Add(New ReportParameter("NumPolizaSeguroMedioAmbiente", NumPolizaSeguroMedioAmbiente))
params.Add(New ReportParameter("NombreAseguradoraCarga", NombreAseguradoraCarga))
params.Add(New ReportParameter("NumPolizaSeguroCarga", NumPolizaSeguroCarga))
params.Add(New ReportParameter("PlacaVM", PlacaVM))
params.Add(New ReportParameter("AnioVM", AnioModeloVM))
params.Add(New ReportParameter("PesoBrutoVehicular", PesoBrutoVehicular))
'TIMBRADO
params.Add(New ReportParameter("FolioFiscal", FolioFiscal))
params.Add(New ReportParameter("QR", ImgCBB))
params.Add(New ReportParameter("QRCCP", ImgCCP))
params.Add(New ReportParameter("SelloCFDI", SelloCFDi))
params.Add(New ReportParameter("CertificadoContribuyente", NoCertificadoSAT))
params.Add(New ReportParameter("CadenaOriginal", CadenaOriginal))
params.Add(New ReportParameter("SerieCertificadoSAT", NoSerieCertificado))
params.Add(New ReportParameter("FechaCertificacion", FechaCertificacion.ToString("dd/MM/yyyy HH:mm:ss")))
params.Add(New ReportParameter("SelloSAT", SelloSAT))
'TOTALES
params.Add(New ReportParameter("SubTotal", SubTotal.ToString()))
params.Add(New ReportParameter("Descuentos", Descuentos.ToString()))
params.Add(New ReportParameter("Total", Total.ToString()))
params.Add(New ReportParameter("RemolquePlaca1", RemolquePlaca1))
params.Add(New ReportParameter("RemolqueSubtimo1", RemolqueSubtimo1))
params.Add(New ReportParameter("RemolquePlaca2", RemolquePlaca2))
params.Add(New ReportParameter("RemolqueSubtimo2", RemolqueSubtimo2))
If UsuarioActual.CveEmpresa = 13 Then
params.Add(New ReportParameter("PermisoSCTRemolque1", PermisoSCTR1))
params.Add(New ReportParameter("PermisoSCTRemolque2", PermisoSCTR2))
params.Add(New ReportParameter("ConfATR1", ConfATR1))
params.Add(New ReportParameter("ConfATR2", ConfATR2))
End If
Dim lrds As New List(Of ReportDataSource)
Dim rds As New ReportDataSource
rds.Name = "DataSet1"
rds.Value = DtConceptos
lrds.Add(rds)
Dim rds2 As New ReportDataSource
rds2.Name = "DataSet2"
rds2.Value = DtUbicaciones
lrds.Add(rds2)
Dim rds3 As New ReportDataSource
rds3.Name = "DataSet3"
rds3.Value = DtMercancias
lrds.Add(rds3)
Dim rds4 As New ReportDataSource
rds4.Name = "DataSet4"
rds4.Value = DtOperadores
lrds.Add(rds4)
Dim rds5 As New ReportDataSource
rds5.Name = "DataSet5"
rds5.Value = DTRelacionados
lrds.Add(rds5)
If AplicaSubReporte Then
For Each parametro As ReportParameter In params
retorno.Parametros.Add(New ReportParameter($"SRP_{parametro.Name}", parametro.Values.Item(0)))
Next
retorno.Parametros.Add(New ReportParameter($"TieneCartaPorte", "True"))
Else
retorno.Parametros.AddRange(params)
End If
retorno.DataSources.AddRange(lrds)
End If
End If
Catch ex As Exception
OnError("Ocurrió un error al generar el pdf de la carta porte", ex)
End Try
Return retorno
End Function
Private Sub DescargaArchivoDirecto(RutaArchivo As String)
If RutaArchivo <> "" Then
@@ -1088,7 +518,6 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("CAAT", CAAT))
params.Add(New ReportParameter("NumeroTrailer", NumeroTrailer))
params.Add(New ReportParameter("NoFactura", NoFactura))
params.Add(New ReportParameter("Mercado", Mercado))
params.Add(New ReportParameter("NoBultos", NoBultos))
@@ -1096,11 +525,6 @@ Partial Class PopUpVerFactura
params.Add(New ReportParameter("NoKgManifiesto", NoKgManifiesto))
Dim lrds As New List(Of ReportDataSource)
Dim rds As New ReportDataSource With {.Name = "DataSet1", .Value = tablaReporte}
lrds.Add(rds)
@@ -1164,15 +588,15 @@ Partial Class PopUpVerFactura
NoEmbarque = row("NoEmbarque").ToString()
Cliente = row("Cliente").ToString()
Direccion = row("Direccion").ToString()
Fecha = String.Format("{0dd/MM/yyyy}", row("Fecha"))
DivisoresdeCarton = String.Format("{0N0}", row("DivisoresdeCarton"))
BolsasdePlastico = String.Format("{0N0}", row("BolsasdePlastico"))
TapaderasdeCarton = String.Format("{0N0}", row("TapaderasdeCarton"))
CAJASDECARTON = String.Format("{0N0}", row("CAJASDECARTON"))
RPC = String.Format("{0N0}", row("RPC"))
BINSDECARTON = String.Format("{0N0}", row("BINSDECARTON"))
BinsPrecio = String.Format("{0N0}", row("BINSDECARTON").ToString().ToDecimal() * 5)
TotalDlls = String.Format("{0N0}", row("TotalDlls"))
Fecha = String.Format("{0:dd/MM/yyyy}", row("Fecha"))
DivisoresdeCarton = String.Format("{0:N0}", row("DivisoresdeCarton"))
BolsasdePlastico = String.Format("{0:N0}", row("BolsasdePlastico"))
TapaderasdeCarton = String.Format("{0:N0}", row("TapaderasdeCarton"))
CAJASDECARTON = String.Format("{0:N0}", row("CAJASDECARTON"))
RPC = String.Format("{0:N0}", row("RPC"))
BINSDECARTON = String.Format("{0:N0}", row("BINSDECARTON"))
BinsPrecio = String.Format("{0:N0}", row("BINSDECARTON").ToString().ToDecimal() * 5)
TotalDlls = String.Format("{0:N0}", row("TotalDlls"))
@@ -1180,7 +604,7 @@ Partial Class PopUpVerFactura
AgenciaAduanalUSA = row("AgenciaAduanalUSA").ToString()
AgenciaAduanalMEX = row("AgenciaAduanalMEX").ToString()
Temperatura = row("Temperatura").ToString()
Hora = String.Format("{0hh }:{0:mm }:{0:ss tt}:", row("FechaIng"))
Hora = String.Format("{0:hh }:{0:mm }:{0:ss tt}:", row("FechaIng"))
Chofer = row("Chofer").ToString()
CamPlaca = row("CamPlaca").ToString()
Camion = String.Format("{0} {1}", row("CamEspecificacion"), row("CamAnio"))
@@ -1320,13 +744,13 @@ Partial Class PopUpVerFactura
Direccion = row("Direccion").ToString()
Correo = row("Correo").ToString()
Fecha = String.Format("{0dd/MM/yyyy}", row("Fecha"))
DivisoresdeCarton = String.Format("{0N0}", row("DivisoresdeCarton"))
BolsasdePlastico = String.Format("{0N0}", row("BolsasdePlastico"))
TapaderasdeCarton = String.Format("{0N0}", row("TapaderasdeCarton"))
CAJASDECARTON = String.Format("{0N0}", row("CAJASDECARTON"))
RPC = String.Format("{0N0}", row("RPC"))
BINSDECARTON = String.Format("{0N0}", row("BINSDECARTON"))
TotalDlls = String.Format("{0N0}", row("TotalDlls"))
DivisoresdeCarton = String.Format("{0:N0}", row("DivisoresdeCarton"))
BolsasdePlastico = String.Format("{0:N0}", row("BolsasdePlastico"))
TapaderasdeCarton = String.Format("{0:N0}", row("TapaderasdeCarton"))
CAJASDECARTON = String.Format("{0:N0}", row("CAJASDECARTON"))
RPC = String.Format("{0:N0}", row("RPC"))
BINSDECARTON = String.Format("{0:N0}", row("BINSDECARTON"))
TotalDlls = String.Format("{0:N0}", row("TotalDlls"))
@@ -1456,7 +880,7 @@ Partial Class PopUpVerFactura
Cultivo = row("Cultivo").ToString()
noPallet = row("Codigo").ToString()
Variedad = row("CultivoVariedad").ToString()
NoCajas = String.Format("{0N0}", row("NoCajas"))
NoCajas = String.Format("{0:N0}", row("NoCajas"))
End If
@@ -1537,7 +961,7 @@ Partial Class PopUpVerFactura
NoCajas = row("NoCajas").ToString()
Fecha = String.Format("{0:MMM dd}", row("Fecha")).Replace(".", "").ToUpper()
CvetypeImpresion = row("CvetypeImpresion").ToString().ToEntero()
NumberOfCode = String.Format("(00)00000000000000(00){1ddMMyy}(00){0}00", Right(String.Format("0{0}", Regex.Match(row("Cuadro").ToString(), "\d+")), 2), row("Fecha"))
NumberOfCode = String.Format("(00)00000000000000(00){1:ddMMyy}(00){0}00", Right(String.Format("0{0}", Regex.Match(row("Cuadro").ToString(), "\d+")), 2), row("Fecha"))
'NumberSmall = String.Format("{000}", noPallet.ToEntero())
'NumberBig = String.Format("{000}", row("Consecutivo").ToString().ToEntero()) ' String.Format("{0:dd}", row("Fecha"))
@@ -1662,7 +1086,7 @@ Partial Class PopUpVerFactura
NoCajas = row("NoCajas").ToString()
Fecha = String.Format("{0:MMM dd}", row("Fecha")).Replace(".", "").ToUpper()
CvetypeImpresion = row("CvetypeImpresion").ToString().ToEntero()
NumberOfCode = String.Format("(00)00000000000000(00){1ddMMyy}(00){0}00", Right(String.Format("0{0}", Regex.Match(row("Cuadro").ToString(), "\d+")), 2), row("Fecha"))
NumberOfCode = String.Format("(00)00000000000000(00){1:ddMMyy}(00){0}00", Right(String.Format("0{0}", Regex.Match(row("Cuadro").ToString(), "\d+")), 2), row("Fecha"))
NumberSmall = String.Format("{000}", noPallet.ToEntero())
NumberBig = String.Format("{000}", row("Consecutivo").ToString().ToEntero()) ' String.Format("{0:dd}", row("Fecha"))
End If