Página 1 de 1

Error al Obtener datos TFD de Factura XML Timbrada

Publicado: Jue Ago 11, 2011 10:02 am
por saulperez
Hola,

Ya implemente la libreria de timbrado en mi sistema, aparentemente sin problemas. Ahora el XML de la factura ya timbrado debo tomarlo para extraer de ahi la cadena original, la cadena del xml con folio y serie asignada, asi como los datos del sello del SAT, sello del PAC, certificado, etc.

Para estoy utilizo el mismo procedimiento que uso con el CFD algo asi:

xsltproc cadenaoriginal.xsl mifactura.xml >cadenaresultado.txt

Ahora, en este caso estoy utilizando el archivo estilo cadenaoriginal_TFD_1_0.xslt, pero al correr el comando, no me devuelve solo 3 pipes, sin datos.
No tengo idea que sucede, ya revise el archivo, y todo parece bien, el nombre de los nodos, y metodo de extracion. El Archivo XML, obviamente si tiene los datos. Adjunto, aqui codigo el xslt, y tambien el codigo de xml.

Espero puedan ayudarme.

cadenaoriginal_TFD_1_0.xslt

Código: Seleccionar todo

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:TimbreFiscalDigital="http://www.sat.gob.mx/TimbreFiscalDigital">
        <xsl:output method="text" version="1.0" encoding="UTF-8" indent="no"/>
        <xsl:template name="Requerido">
                <xsl:param name="valor"/>|<xsl:call-template name="ManejaEspacios">
                        <xsl:with-param name="s" select="$valor"/>
                </xsl:call-template>
        </xsl:template>
        <xsl:template name="ManejaEspacios">
                <xsl:param name="s"/>
                <xsl:value-of select="normalize-space(string($s))"/>
        </xsl:template>
        <xsl:template match="/">|<xsl:apply-templates select="/TimbreFiscalDigital:TimbreFiscalDigital"/>||</xsl:template>
        <xsl:template match="TimbreFiscalDigital:TimbreFiscalDigital">
                <xsl:call-template name="Requerido">
                        <xsl:with-param name="valor" select="./@version"/>
                </xsl:call-template>
                <xsl:call-template name="Requerido">
                        <xsl:with-param name="valor" select="./@UUID"/>
                </xsl:call-template>
                <xsl:call-template name="Requerido">
                        <xsl:with-param name="valor" select="./@FechaTimbrado"/>
                </xsl:call-template>
                <xsl:call-template name="Requerido">
                        <xsl:with-param name="valor" select="./@selloCFD"/>
                </xsl:call-template>
                <xsl:call-template name="Requerido">
                        <xsl:with-param name="valor" select="./@noCertificadoSAT"/>
                </xsl:call-template>
        </xsl:template>
</xsl:stylesheet>

FacturaCFDI.xml

Código: Seleccionar todo

<?xml version="1.0" encoding="UTF-8"?>
<cfdi:Comprobante xmlns:cfdi="http://www.sat.gob.mx/cfd/3" xmlns="http://www.sat.gob.mx/cfd/3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/cfd/3 http://www.sat.gob.mx/sitio_internet/cfd/3/cfdv3.xsd" version="3.0" serie="A" folio="12345" fecha="2011-02-10T12:23:45" formaDePago="Pago en una sola exhibición" condicionesDePago="Contado" subTotal="314.66" descuento="14.66" motivoDescuento="Por pronto pago" TipoCambio="1.00" Moneda="MXN" total="387.60" metodoDePago="Tarjeta de credito" tipoDeComprobante="ingreso" noCertificado="30001000000100000800" certificado="MIIE/TCCA+WgAwIBAgIUMzAwMDEwMDAwMDAxMDAwMDA4MDAwDQYJKoZIhvcNAQEFBQAwggFvMRgwFgYDVQQDDA9BLkMuIGRlIHBydWViYXMxLzAtBgNVBAoMJlNlcnZpY2lvIGRlIEFkbWluaXN0cmFjacOzbiBUcmlidXRhcmlhMTgwNgYDVQQLDC9BZG1pbmlzdHJhY2nDs24gZGUgU2VndXJpZGFkIGRlIGxhIEluZm9ybWFjacOzbjEpMCcGCSqGSIb3DQEJARYaYXNpc25ldEBwcnVlYmFzLnNhdC5nb2IubXgxJjAkBgNVBAkMHUF2LiBIaWRhbGdvIDc3LCBDb2wuIEd1ZXJyZXJvMQ4wDAYDVQQRDAUwNjMwMDELMAkGA1UEBhMCTVgxGTAXBgNVBAgMEERpc3RyaXRvIEZlZGVyYWwxEjAQBgNVBAcMCUNveW9hY8OhbjEVMBMGA1UELRMMU0FUOTcwNzAxTk4zMTIwMAYJKoZIhvcNAQkCDCNSZXNwb25zYWJsZTogSMOpY3RvciBPcm5lbGFzIEFyY2lnYTAeFw0xMDA3MzAxNjU4NDBaFw0xMjA3MjkxNjU4NDBaMIGWMRIwEAYDVQQDDAlNYXRyaXogU0ExEjAQBgNVBCkMCU1hdHJpeiBTQTESMBAGA1UECgwJTWF0cml6IFNBMSUwIwYDVQQtExxBQUEwMTAxMDFBQUEgLyBBQUFBMDEwMTAxQUFBMR4wHAYDVQQFExUgLyBBQUFBMDEwMTAxSERGUlhYMDExETAPBgNVBAsMCFVuaWRhZCAxMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDD0ltQNthUNUfzq0t1GpIyapjzOn1W5fGM5G/pQyMluCzP9YlVAgBjGgzwYp9Z0J9gadg3y2ZrYDwvv8b72goyRnhnv3bkjVRKlus6LDc00K7Jl23UYzNGlXn5+i0HxxuWonc2GYKFGsN4rFWKVy3Fnpv8Z2D7dNqsVyT5HapEqwIDAQABo4HqMIHnMAwGA1UdEwEB/wQCMAAwCwYDVR0PBAQDAgbAMB0GA1UdDgQWBBSYodSwRczzj5H7mcO3+mAyXz+y0DAuBgNVHR8EJzAlMCOgIaAfhh1odHRwOi8vcGtpLnNhdC5nb2IubXgvc2F0LmNybDAzBggrBgEFBQcBAQQnMCUwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3NwLnNhdC5nb2IubXgvMB8GA1UdIwQYMBaAFOtZfQQimlONnnEaoFiWKfU54KDFMBAGA1UdIAQJMAcwBQYDKgMEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMA0GCSqGSIb3DQEBBQUAA4IBAQArHQEorApwqumSn5EqDOAjbezi8fLco1cYES/PD+LQRM1Vb1g7VLE3hR4S5NNBv0bMwwWAr0WfL9lRRj0PMKLorO8y4TJjRU8MiYXfzSuKYL5Z16kW8zlVHw7CtmjhfjoIMwjQo3prifWxFv7VpfIBstKKShU0qB6KzUUNwg2Ola4t4gg2JJcBmyIAIInHSGoeinR2V1tQ10aRqJdXkGin4WZ75yMbQH4L0NfotqY6bpF2CqIY3aogQyJGhUJji4gYnS2DvHcyoICwgawshjSaX8Y0Xlwnuh6EusqhqlhTgwPNAPrKIXCmOWtqjlDhho/lhkHJMzuTn8AoVapbBUnj" sello="jdq+q1219FMesRhQJEucPMReXyHPcYwHMXbPLG3+AkOfJ9SwR7HhUJUxhxYkMxt0SQlQQUPK+6OatilnNfWJiGUVizrvxxDtPY3QD/T/Yis76rUJJkr9rZxEcZYPADgtb4TqSfHWoZac5SRLCB0siLJJ3XA/mhDskOA6i84ecDo="><cfdi:Emisor rfc="MTI0806042N7" nombre="EMPRESA DEMO VISITA WWW.VALIDACFD.COM SA DE CV"><cfdi:DomicilioFiscal calle="Calle de la Amargura" noExterior="123" noInterior="456" colonia="Col. Bondojito" localidad="Oaxaca" referencia="Atras de una gasolinera" municipio="Oaxaca" estado="Oaxaca" pais="México" codigoPostal="87345"/><cfdi:ExpedidoEn calle="Av. Revolucion" noExterior="2233" noInterior="4455" colonia="Col. Centro" localidad="Tampico" referencia="Referencia" municipio="Tampico" estado="Tamaulipas" pais="México" codigoPostal="47372"/></cfdi:Emisor><cfdi:Receptor rfc="PWD090210DR5" nombre="Mi Cliente SA de CV"><cfdi:Domicilio calle="Patriotismo" noExterior="4579" noInterior="94" colonia="La Añoranza" localidad="Boca del Rio" referencia="Junto al mar" municipio="Veracruz" estado="Veracruz" pais="Mexico" codigoPostal="75489"/></cfdi:Receptor><cfdi:Conceptos><cfdi:Concepto cantidad="10.25" unidad="Kilo" noIdentificacion="38495683628" descripcion="Arroz blanco marca SOE" valorUnitario="12.23" importe="125.36"><cfdi:CuentaPredial numero="222-382734-393283-58373"/></cfdi:Concepto><cfdi:Concepto cantidad="5" unidad="PZA" noIdentificacion="29845798357" descripcion="Piña dulce       del bajio" valorUnitario="18.90" importe="94.50"><cfdi:InformacionAduanera numero="348759" fecha="2011-01-08" aduana="Aeropuerto Internal. de México"/></cfdi:Concepto><cfdi:Concepto cantidad="4" unidad="Kg" noIdentificacion="98457345" descripcion="Frijol flor de mayo" valorUnitario="23.70" importe="94.80"/></cfdi:Conceptos><cfdi:Impuestos totalImpuestosRetenidos="30.00" totalImpuestosTrasladados="117.60"><cfdi:Retenciones><cfdi:Retencion impuesto="IVA" importe="10.00"/><cfdi:Retencion impuesto="ISR" importe="20.00"/></cfdi:Retenciones><cfdi:Traslados><cfdi:Traslado impuesto="IVA" tasa="16.00" importe="57.60"/><cfdi:Traslado impuesto="IVA" tasa="0.00" importe="0.00"/><cfdi:Traslado impuesto="IEPS" tasa="20.00" importe="60.00"/></cfdi:Traslados></cfdi:Impuestos><cfdi:Complemento><tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital TimbreFiscalDigital.xsd" xmlns:ns12="http://www.sat.gob.mx/divisas" xmlns:ns13="http://www.sat.gob.mx/donat" xmlns:ns14="http://www.buzonfiscal.com/ns/referenceID/v1" xmlns:ns15="http://new.webservice.namespace" selloSAT="azHKyxwvfdH+aOsPyQg49ZkW2oGtxxpcyLkC9R+uFODc8re+JjLsbIwFRhtrRueN1ejrrr5ZOlVneeSuWsNMuJdAXy9Wu6cLSGyNG888OlWxLm4r1NuDbRSFjJCxYNpinRZuadRNY4D4IObcnFmY4UBSmxlcSZfrnkJjR8slhAY=" noCertificadoSAT="30001000000100000801" selloCFD="jdq+q1219FMesRhQJEucPMReXyHPcYwHMXbPLG3+AkOfJ9SwR7HhUJUxhxYkMxt0SQlQQUPK+6OatilnNfWJiGUVizrvxxDtPY3QD/T/Yis76rUJJkr9rZxEcZYPADgtb4TqSfHWoZac5SRLCB0siLJJ3XA/mhDskOA6i84ecDo=" FechaTimbrado="2011-08-10T12:29:14" UUID="eca99ef6-a122-46ab-b8f1-6f50030eb0d4" version="1.0"/>
	</cfdi:Complemento></cfdi:Comprobante>
Saludos

Re: Error al Obtener datos TFD de Factura XML Timbrada

Publicado: Jue Ago 11, 2011 10:22 am
por Dado
Segun yo debes pasarle al xlstproc *unicamente* el nodo tfd:TimbreFiscalDigital

Re: Error al Obtener datos TFD de Factura XML Timbrada

Publicado: Jue Ago 11, 2011 10:31 am
por saulperez
Pues se supone que este codigo es donde se especifica el nodo.

Código: Seleccionar todo

<xsl:template match="/">|<xsl:apply-templates select="/TimbreFiscalDigital:TimbreFiscalDigital"/>||</xsl:template>
        <xsl:template match="TimbreFiscalDigital:TimbreFiscalDigital">
Ya modifique este por TimbreFiscalDigital:TimbreFiscalDigital por tfd:TimbreFiscalDigital, obteniendo el mismo resultado.

¿Alguna pista?, tu tienes alguna version diferente de este archivo: cadenaoriginal_TFD_1_0.xslt
El codigo exacto por linea de comando es:

xsltproc cadenaoriginal_TFD_1_0.xslt FacturaCFDI.xml > CadenaTFD.txt

El archivo resultante solo tiene "|||".

Saludos, espero me puedas ayudar..,

Re: Error al Obtener datos TFD de Factura XML Timbrada

Publicado: Jue Ago 11, 2011 11:28 am
por Dado
Mmmmh, no me explique.

En la instruccion xsltproc cadenaoriginal.xsl mifactura.xml >cadenaresultado.txt le estas pasando *TODA* la factura, desde el nodo "Comprobante"

Debes SEPARAR el complemento del timbrefiscal y pasarle *solo* el nodo complemento timbrefiscal.

Es decir debes pasarle unicamente :

Código: Seleccionar todo

<tfd:TimbreFiscalDigital xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sat.gob.mx/TimbreFiscalDigital TimbreFiscalDigital.xsd" xmlns:ns12="http://www.sat.gob.mx/divisas" xmlns:ns13="http://www.sat.gob.mx/donat" xmlns:ns14="http://www.buzonfiscal.com/ns/referenceID/v1" xmlns:ns15="http://new.webservice.namespace" selloSAT="azHKyxwvfdH+aOsPyQg49ZkW2oGtxxpcyLkC9R+uFODc8re+JjLsbIwFRhtrRueN1ejrrr5ZOlVneeSuWsNMuJdAXy9Wu6cLSGyNG888OlWxLm4r1NuDbRSFjJCxYNpinRZuadRNY4D4IObcnFmY4UBSmxlcSZfrnkJjR8slhAY=" noCertificadoSAT="30001000000100000801" selloCFD="jdq+q1219FMesRhQJEucPMReXyHPcYwHMXbPLG3+AkOfJ9SwR7HhUJUxhxYkMxt0SQlQQUPK+6OatilnNfWJiGUVizrvxxDtPY3QD/T/Yis76rUJJkr9rZxEcZYPADgtb4TqSfHWoZac5SRLCB0siLJJ3XA/mhDskOA6i84ecDo=" FechaTimbrado="2011-08-10T12:29:14" UUID="eca99ef6-a122-46ab-b8f1-6f50030eb0d4" version="1.0"/>

Re: Error al Obtener datos TFD de Factura XML Timbrada

Publicado: Jue Ago 11, 2011 12:08 pm
por saulperez
Ok..,

Entendido.., muchas gracias!