From c3f273cf5f179bb082a30a02d06e6c734d35804a Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 8 Sep 2021 15:41:27 -0700 Subject: [PATCH] Impresion de carta porte Timbrado --- Compras/PopUpVerFactura.aspx.vb | 347 +- .../Grales/Formatos/CartaPorteTimbrado.rdlc | 3627 +++++++++++++++++ Inventarios/EntradasSalidas.aspx | 3 + Inventarios/EntradasSalidas.aspx.vb | 6 + 4 files changed, 3982 insertions(+), 1 deletion(-) create mode 100644 Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 7bf565dd8..19a607751 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -376,6 +376,12 @@ Partial Class PopUpVerFactura If UrlParametros("CVEMOV") IsNot Nothing AndAlso UrlParametros("CVEMOV").ToString.ToEntero > 0 Then ImprimeFormatoCartaPorte(UrlParametros("CVEMOV").ToString.ToEntero) End If + End If + + If UrlParametros("OP").ToString = "CARPOTIMBRE" Then + If UrlParametros("CVEMOV") IsNot Nothing AndAlso UrlParametros("CVEMOV").ToString.ToEntero > 0 Then + ImprimeFormatoCartaPorteTimbrado(UrlParametros("CVEMOV").ToString.ToEntero) + End If End If @@ -747,7 +753,7 @@ Partial Class PopUpVerFactura #End Region -#Region "OP = 'CARPO' - IMPRIME FORMATO CARTA PORTE" +#Region "OP = 'CARPO' - IMPRIME FORMATO CARTA PORTE TIMBRADO" Private Sub ImprimeFormatoCartaPorte(CveMovimiento As Integer) If CveMovimiento > 0 Then Dim ObjInv As New ClsInventarios @@ -873,6 +879,345 @@ Partial Class PopUpVerFactura End If End Sub + Private Function ValorXML(n As XmlNode, Campo As String, Optional Retorno As String = "") As String + Dim o As XmlNode = n.Attributes.Cast(Of XmlAttribute)().SingleOrDefault(Function(a) String.Compare(a.Name, Campo, True) = 0) + If o Is Nothing Then + Return Retorno + Else + Return o.Value + End If + End Function + + Private Sub ImprimeFormatoCartaPorteTimbrado(CveMovimiento As Integer) + If CveMovimiento > 0 Then + + '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 = "" + '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 Aseguradora As String = "" + Dim NumPolizaSeguro As String = "" + Dim PlacaVM As String = "" + Dim AnioModeloVM 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 ObjInv As New ClsInventarios + If ObjInv.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa) Then + If ObjInv.DtResultados.Rows.Count > 0 Then + Dim Dr As DataRow = ObjInv.DtResultados.Rows(0) + If Dr IsNot Nothing Then + SerieFolio = Dr("Folio").ToString + Telefono = Dr("Telefono1").ToString + End If + End If + End If + ObjInv.Dispose() + + 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("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))) + + 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 XMLDoc As New XmlDocument + Dim Path As String = String.Format("{0}\{1}\{2}\{3}.{4}", UsuarioActual.Empresa.Ruta, "XML", "Tra", String.Format("Tra-{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 = 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\Tra-{1}.jpg", UsuarioActual.Empresa.Ruta, SerieFolio) + Dim ImagenCBB As New System.IO.FileInfo(RutaCBB) + + Dim nodo As XmlNode = XMLDoc.DocumentElement + + 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) + + If Prefijo.ToLower <> "cfdi" Then cfdVer = "http://www.sat.gob.mx/cfd/2" + 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") + + 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 = 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}:Complemento", Prefijo), namespaces) + + Dim nodeCartaPorte As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:CartaPorte", "cartaporte"), namespaces) + If nodeCartaPorte IsNot Nothing Then + TransporteInternacional = ValorXML(nodeCartaPorte, "TranspInternac", "") + End If + + Dim nodeAutotransporteFederal As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:AutotransporteFederal", "cartaporte"), namespaces) + If nodeAutotransporteFederal IsNot Nothing Then + PermisoSTCC = ValorXML(nodeAutotransporteFederal, "PermSCT", "") + NumPermiso = ValorXML(nodeAutotransporteFederal, "NumPermisoSCT", "") + Aseguradora = ValorXML(nodeAutotransporteFederal, "NombreAseg", "") + NumPolizaSeguro = ValorXML(nodeAutotransporteFederal, "NumPolizaSeguro", "") + End If + + Dim nodeIdentificacionVehicular As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:IdentificacionVehicular", "cartaporte"), namespaces) + If nodeIdentificacionVehicular IsNot Nothing Then + PlacaVM = ValorXML(nodeIdentificacionVehicular, "PlacaVM", "") + AnioModeloVM = ValorXML(nodeIdentificacionVehicular, "AnioModeloVM", "") + End If + + Dim nodeFiguraTransporte As XmlNode = nodeComp.SelectSingleNode(String.Format("//{0}:FiguraTransporte", "cartaporte"), namespaces) + If nodeFiguraTransporte IsNot Nothing Then + Dim CveTransporte As String = ValorXML(nodeFiguraTransporte, "CveTransporte", "") + MedioTransporte = String.Format("{0} - {1}", CveTransporte, HtTransporte(CveTransporte).ToString()) + End If + + Dim nodeMercancias As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Mercancia", "cartaporte"), 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", "") + + DtMercancias.Rows.Add(Row) + Next + + Dim nodeOperadores As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Operador", "cartaporte"), namespaces) + For Each node As XmlNode In nodeOperadores + Dim Row As DataRow = DtOperadores.NewRow + + Row("RFC") = ValorXML(node, "RFCOperador", "") + Row("NumLicencia") = ValorXML(node, "NumLicencia", "") + Row("NombreOperador") = ValorXML(node, "NombreOperador", "") + + DtOperadores.Rows.Add(Row) + Next + + + Dim nodeUbicaciones As XmlNodeList = nodeComp.SelectNodes(String.Format("//{0}:Ubicacion", "cartaporte"), namespaces) + For Each node As XmlNode In nodeUbicaciones + Dim Row As DataRow = DtUbicaciones.NewRow + + Row("Distancia") = ValorXML(node, "DistanciaRecorrida", "") + Dim nodeOrigen = node.ChildNodes.Cast(Of XmlNode).FirstOrDefault(Function(x) x.Name = "cartaporte:Origen") + If nodeOrigen IsNot Nothing Then + Row("RFC") = ValorXML(nodeOrigen, "RFCRemitente", "") + Row("Nombre") = ValorXML(nodeOrigen, "NombreRemitente", "") + Row("FechaHoraSalida") = ValorXML(nodeOrigen, "FechaHoraSalida", "").ToDateTime() + End If + + Dim nodeDestino = node.ChildNodes.Cast(Of XmlNode).FirstOrDefault(Function(x) x.Name = "cartaporte:Destino") 'node.SelectSingleNode(String.Format("//{0}:Destino", "cartaporte"), namespaces) + If nodeDestino IsNot Nothing Then + Row("RFC") = ValorXML(nodeDestino, "RFCDestinatario", "") + Row("Nombre") = ValorXML(nodeDestino, "NombreDestinatario", "") + Row("FechaHoraSalida") = ValorXML(nodeDestino, "FechaHoraProgLlegada", "").ToDateTime() + End If + + Dim nodeDomicilio = node.ChildNodes.Cast(Of XmlNode).FirstOrDefault(Function(x) x.Name = "cartaporte:Domicilio") 'node.SelectSingleNode(String.Format("//{0}:Domicilio", "cartaporte"), namespaces) + If nodeDomicilio IsNot Nothing Then + Dim calle = ValorXML(nodeDomicilio, "Calle", "") + Dim Estado = ValorXML(nodeDomicilio, "Estado", "") + Dim Pais = ValorXML(nodeDomicilio, "MEX", "") + Dim CP = ValorXML(nodeDomicilio, "CodigoPostal", "") + + Row("Direccion") = String.Format("{0} ,{1},{2}. CP {3}", calle, Estado, Pais, CP) + End If + + DtUbicaciones.Rows.Add(Row) + Next + + 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 + Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar() + CBB.GenerarCBB(UsuarioActual.Empresa.RFC, ClienteRFC, Total, FolioFiscal, RutaCBB) + End If + + ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/Tra-{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, SerieFolio) + End If + + If DtConceptos.Rows.Count > 0 Then + Dim params As New List(Of ReportParameter) + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + If Imagen.Exists Then + params.Add(New ReportParameter("LogoPath", logouri)) + Else + params.Add(New ReportParameter("LogoPath", "")) + End If + '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", Now.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", Aseguradora)) + params.Add(New ReportParameter("NumPoliza", NumPolizaSeguro)) + params.Add(New ReportParameter("PlacaVM", PlacaVM)) + params.Add(New ReportParameter("AnioVM", AnioModeloVM)) + 'TIMBRADO + params.Add(New ReportParameter("FolioFiscal", FolioFiscal)) + params.Add(New ReportParameter("QR", ImgCBB)) + 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())) + ' [@CertificadoContribuyente] + '[@CadenaOriginal] + + 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) + + ImprimirPDF("Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc", lrds, params, String.Format("Carta Porte -{0}", Now.ToDateTime.ToShortDateString)) + End If + End If + End Sub + #End Region #Region "OP = 'DesXmlTra' - IMPRIME XML TRASLADO" diff --git a/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc b/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc new file mode 100644 index 000000000..24d09caea --- /dev/null +++ b/Empresas/Grales/Formatos/CartaPorteTimbrado.rdlc @@ -0,0 +1,3627 @@ + + + + + + + + + + + + true + true + + + + + CANTIDAD + + + + + + + Textbox28 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + 3.00921cm + + + 10.82134cm + + + 2.35479cm + + + + + 0.6cm + + + + + true + true + + + + + =Fields!UnidadMedida.Value + + + + + + + UM + + 2pt + + + + + + 1pt + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Descripcion.Value + + + + + + + Textbox31 + + 5pt + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!PesoEnKg.Value + + + + + + + PesoEnKg + + 5pt + + + + 1pt + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + 0.52062cm + + + true + true + + + + + UNIDAD DE MEDIDA + + + + + + + Textbox40 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + true + true + + + + + DESCRIPCIÓN + + + + + + + Textbox30 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + true + true + + + + + PESO(KG) + + + + + + + Textbox64 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + 2.92737cm + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + + Cantidad + + 2pt + + + + + + 1pt + + + 1pt + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + DataSet3 + 5.56865cm + 0.38395cm + 1.12062cm + 19.11271cm + + + + + + true + true + + + + + N + + + + ombre: + + + + =Parameters!ClienteNombre.Value + + + + + + + + + RFC: + + + + =Parameters!ClienteRFC.Value + + + + + + + + + Uso CFDi: + + + + + + + + =Parameters!UsoCFDi.Value + + + + + + + Textbox2 + 0.33302in + 0.41187cm + 0.51791in + 7.5137in + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + MERCANCIAS + + + + + + + Textbox3 + 4.97857cm + 0.1841in + 0.5cm + 7.52776in + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + true + true + + + + + DISTANCIA + + + + + + + Textbox28 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + 3.00921cm + + + 4.47377cm + + + 2.95726cm + + + 6.97146cm + + + + + 0.6cm + + + + + true + true + + + + + =Fields!RFC.Value + + + + + + + UM + + 2pt + + + + + + 1pt + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Nombre.Value + + + + + + + Textbox31 + + 5pt + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!FechaHoraSalida.Value + + + + + + + Textbox65 + + 5pt + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Direccion.Value + + + + + + + Direccion + + 5pt + + + + 1pt + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + 0.52062cm + + + true + true + + + + + RFC + + + + + + + Textbox40 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + true + true + + + + + NOMBRE + + + + + + + Textbox30 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + true + true + + + + + FECHA + + + + + + + Textbox64 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + true + true + + + + + DIRECCIÓN + + + + + + + Textbox1 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + 1.68927cm + + + true + true + + + + + =Fields!Distancia.Value + + + + + + + Cantidad + + 2pt + + + + + + 1pt + + + 1pt + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + DataSet2 + 7.3763cm + 0.42363cm + 1.12062cm + 19.10097cm + 3 + + + + + + true + true + + + + + REMITEMTES Y DESTINATARIOS + + + + + + + Textbox3 + 6.78622cm + 0.19973in + 0.5cm + 7.52776in + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + true + true + + + + + RFC + + + + + + + Textbox28 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + 4.47377cm + + + 9.92872cm + + + + + 0.6cm + + + + + true + true + + + + + =Fields!NumLicencia.Value + + + + + + + UM + + 2pt + + + + + + 1pt + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!NombreOperador.Value + + + + + + + Textbox31 + + 5pt + + + + 1pt + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + 0.52062cm + + + true + true + + + + + LICENCIA + + + + + + + Textbox40 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + true + true + + + + + NOMBRE OPERADOR + + + + + + + Textbox30 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + 4.69848cm + + + true + true + + + + + =Fields!RFC.Value + + + + + + + Cantidad + + 2pt + + + + + + 1pt + + + 1pt + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + DataSet4 + 9.18605cm + 0.42363cm + 1.12062cm + 19.10097cm + 5 + + + + + + true + true + + + + + OPERADORES + + + + + + + Textbox3 + 8.59597cm + 0.19972in + 0.5cm + 7.52776in + 6 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Sello digital del CFDI: + + + + + + + + + =Parameters!SelloCFDI.Value + + + + + + + + + Cadena original del complemento de certificación digital del SAT: + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + External + =Parameters!QR.Value + FitProportional + 5.71082in + 6.18415in + 1.2939in + 1.53682in + 8 + + + + + + true + true + + + + + Medio de transporte + + + + : + + + + =Parameters!MedioTransporte.Value + + + + + + + + + Transporte Internacional: + + + + =Parameters!TransporteInternacional.Value + + + + + + + + + Tipo de Transporte Internacional: + + + + =Parameters!TipoTI.Value + + + + + + + + + Vía de Transporte Internacional: + + + + =Parameters!ViaTI.Value + + + + + + + + + Permiso STCC: + + + + + + + + =Parameters!PermisoSTCC.Value + + + + + + + Textbox2 + 1.13111in + 0.38395cm + 0.76862in + 3.73231in + 9 + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + TRANSPORTE + + + + + + + Textbox3 + 2.33775cm + 0.15116in + 0.5cm + 7.5137in + 10 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Numero de Permiso + + + + : + + + + =Parameters!NumPermiso.Value + + + + + + + + + Aseguradora: + + + + =Parameters!Aseguradora.Value + + + + + + + + + Número de Póliza: + + + + =Parameters!NumPoliza.Value + + + + + + + + + Placa: + + + + =Parameters!PlacaVM.Value + + + + + + + + + Año: + + + + =Parameters!AnioVM.Value + + + + + + + + + + + Textbox2 + 1.13111in + 9.86403cm + 0.76862in + 3.78138in + 11 + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + DATOS DEL CLIENTE + + + + + + + Textbox3 + 0.27884cm + 0.15259in + 0.5cm + 7.5137in + 12 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + true + true + + + + + CANTIDAD + + + + + + + Textbox28 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + 3.00921cm + + + 8.91467cm + + + 2.35479cm + + + 2.95015cm + + + + + 0.6cm + + + + + true + true + + + + + =Fields!Unidad.Value + + + + + + + UM + + 2pt + + + + + + 1pt + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Descripcion.Value + + + + + + + Textbox31 + + 5pt + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ValorUnitario.Value + + + + + + + PesoEnKg + + 5pt + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!Importe.Value + + + + + + + Importe + + 5pt + + + + 1pt + + + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + 0.52062cm + + + true + true + + + + + UNIDAD DE MEDIDA + + + + + + + Textbox40 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + true + true + + + + + DESCRIPCIÓN + + + + + + + Textbox30 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + true + true + + + + + PU + + + + + + + Textbox64 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.52062cm + + + true + true + + + + + IMPORTE + + + + + + + Textbox5 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + 1.86551cm + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + + Cantidad + + 2pt + + + + + + 1pt + + + 1pt + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + DataSet1 + 11.01962cm + 0.33883cm + 1.12062cm + 19.09433cm + 13 + + + + + + true + true + + + + + CONCEPTOS + + + + + + + Textbox3 + 10.42954cm + 0.16633in + 0.5cm + 7.52776in + 14 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!SubTotal.Value + + + + + + + Textbox3 + 4.896in + 6.37477in + 0.60856cm + 1.30108in + 15 + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + SUBTOTAL: + + + + + + + Textbox3 + 12.43583cm + 5.24863in + 0.60856cm + 1.12683in + 16 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!Descuentos.Value + + + + + + + Textbox3 + 5.13559in + 6.37685in + 0.60856cm + 1.30108in + 17 + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + DESCUENTOS: + + + + + + + Textbox3 + 13.04438cm + 5.25071in + 0.60856cm + 1.12683in + 18 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!Total.Value + + + + + + + Textbox3 + 5.37518in + 6.37893in + 0.60856cm + 1.30108in + 19 + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + TOTAL: + + + + + + + Textbox3 + 13.65293cm + 5.25279in + 0.60856cm + 1.12614in + 20 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + "Este documento es una representación impresa de un CFDI" + + + + + + + + + + + + + + + + + + Folio fiscal: + + + + =Parameters!FolioFiscal.Value + + + + + + + + + + + =Parameters!FechaCertificacion.Value + + + + + + + + + + + =Parameters!CertificadoContribuyente.Value + + + + + + + =Parameters!SerieCertificadoSAT.Value + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 7.02116in + + + + + + + Textbox2 + 0.38703cm + 4.85476cm + 0.78571cm + 9.73471cm + + + + true + true + + + + + RFC: + + + + =Parameters!RFC.Value + + + + + + + + + + + =Parameters!DomicilioFiscal.Value + + + + + + + =Parameters!RegimenFiscal.Value + + + + + + + =Parameters!DomicilioExpedicion.Value + + + + + + + External + =Parameters!LogoPath.Value + FitProportional + 0.16845in + 0.46171in + 1.23522in + 2 + + + + + + true + + + + + CARTA PORTE - TRASLADO + + + + + + + Textbox3 + 0.38703cm + 5.81924in + 0.5cm + 1.83161in + 3 + + + #4f81bd + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SerieFolio.Value + + + + + + + Textbox3 + 0.3607in + 5.81924in + 0.60856cm + 1.83161in + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + 1.23524cm + true + true + + + 0.03525cm + 0.64802cm + 0cm + 19.22862cm + + + + + + true + true + + + + + Usuario: + + + + + + + Textbox13 + 0.14108cm + 0.64802cm + 0.54708cm + 1.55632cm + 1 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!UsuarioImprimio.Value + + + + + + + Textbox14 + 0.14108cm + 2.20434cm + 0.54708cm + 4.96223cm + 2 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Impresion: + + + + + + + Textbox13 + 0.14108cm + 7.27241cm + 0.54708cm + 2.84562cm + 3 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Globals!ExecutionTime + + + + + + + Textbox14 + 0.14108cm + 10.11802cm + 0.54708cm + 4.68641cm + 4 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox14 + 0.17636cm + 15.0542cm + 0.54708cm + 4.8023cm + 5 + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + IMPRESO EN SIG, Traspaso Almacén + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 29.7cm + 21cm + 0.5cm + 0.5cm + 1cm + 1cm + 0.13cm +