Duda en el cálculo de la cadena original del timbre...

Cualquier cambio que haga el SAT referente a la F.E. sera comentada aqui
fcintron
Mensajes: 24
Registrado: Vie Jul 20, 2012 11:17 am

Duda en el cálculo de la cadena original del timbre...

Mensajepor fcintron » Jue Jul 27, 2017 12:54 am

En la nueva versión del timbre hay un campo que se llama Leyenda, que es opcional.

Si tengo el caso que el PAC me regresé el campo Leyenda vacío, algo así como esto:

Leyenda = ""

La duda es:
¿Se debería poner en la cadena original del timbre el valor vacío?
o
¿Se debería considerar que el campo no tiene valor y no ponerlo en la cadena original?

Si si se pone, entonces esa sección de la cadena original quedaría así:
"....||...."
Que por cierto es como lo hace el archivo cadenaoriginal_TFD_1_1.xslt (este es el archivo para calcular la cadena original del timbre que se puede descargar del SAT)

Que sería un problema porque || es el marcador de inicio y fin de la cadena original.

En el anexo 20 en la parte que habla de como crear la cadena original del timbre dice:

Los datos opcionales no expresados, no aparecen en la cadena original y no tienen delimitador alguno

¿Esto quiere decir que la implementación del SAT esta mal?
¿Que piensan ustedes?

Avatar de Usuario
Dado
Mensajes: 15824
Registrado: Mar Jul 06, 2010 8:56 pm

Re: Duda en el cálculo de la cadena original del timbre...

Mensajepor Dado » Jue Jul 27, 2017 10:10 am

No esta permitido datos vacios, dicho de otra forma no creo que el PAC te devuelva Leyenda="" (vacio)

Asi que la regla se auto-protege, ya que como bien dices tendrias un doble pipe, que indica principio o fin de cadena, pero eso no puede pasar porque no puede haber datos vacios como lo mencione.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

Jesus Castelo
Mensajes: 384
Registrado: Lun Feb 14, 2011 7:37 pm

Re: Duda en el cálculo de la cadena original del timbre...

Mensajepor Jesus Castelo » Jue Jul 27, 2017 10:18 am

1. Version
2. UUID
3. FechaTimbrado
4. RfcProvCertif
5. Leyenda
6. SelloCFD
7. NoCertificadoSAT


a mi me sale así usando el XSLT, lo modifique solo un poco para que funcione con el xml completo pero es casi igual:

||1.1|3C4E8A71-56C0-4AC2-AE7B-2225511B2A1B|2017-07-22T14:52:49|FLI081010EK2|NtOdWuhejJwrAaUGzEMlDCcGnor7JFBayBmmsyUcAG26OgzdcV6cbdtc21XFiamFm0mnvvoNW+SKqrZDY2mmo2dW7bpq3uyYSAtcNSgU5PCHvvGNSbtAWVXkmsC0lhA0WxAqhMLtsZGgasfgB+HmEVo37eu3OtWbNf1K6WqU8JCOeuyE8l3DO5N13U1OWBesH6aJDaul5E16OXkt3d/r5uylYfJ5drcuUGoCwcWGM15Unx7x6lvlCXksk2D91yk5dGbr3DNezLH5YkFzONqBXu3MQrGdcdXOZdTETjeDFLWQpO221pcYHrGMxXi2xyYOkjovepD9lphMJXUgAnPZYw==|00001000000403498740||

fcintron
Mensajes: 24
Registrado: Vie Jul 20, 2012 11:17 am

Re: Duda en el cálculo de la cadena original del timbre...

Mensajepor fcintron » Jue Jul 27, 2017 12:09 pm

Jesus Castelo escribió:1. Version
2. UUID
3. FechaTimbrado
4. RfcProvCertif
5. Leyenda
6. SelloCFD
7. NoCertificadoSAT


a mi me sale así usando el XSLT, lo modifique solo un poco para que funcione con el xml completo pero es casi igual:

||1.1|3C4E8A71-56C0-4AC2-AE7B-2225511B2A1B|2017-07-22T14:52:49|FLI081010EK2|NtOdWuhejJwrAaUGzEMlDCcGnor7JFBayBmmsyUcAG26OgzdcV6cbdtc21XFiamFm0mnvvoNW+SKqrZDY2mmo2dW7bpq3uyYSAtcNSgU5PCHvvGNSbtAWVXkmsC0lhA0WxAqhMLtsZGgasfgB+HmEVo37eu3OtWbNf1K6WqU8JCOeuyE8l3DO5N13U1OWBesH6aJDaul5E16OXkt3d/r5uylYfJ5drcuUGoCwcWGM15Unx7x6lvlCXksk2D91yk5dGbr3DNezLH5YkFzONqBXu3MQrGdcdXOZdTETjeDFLWQpO221pcYHrGMxXi2xyYOkjovepD9lphMJXUgAnPZYw==|00001000000403498740||


Para duplicar el problema que mencione antes, por favor haz esto:

1.-A un xml sellado pero sin timbrar añádele a mano el timbre.
2.- Asegúrate que el timbre tenga el campo Leyenda=""
3.- Pásalo por la transformación definida en cadenaoriginal_TFD_1_1.xslt
4.- EL resultado tendrá doble pipe en medio de la cadena original. (Y no sólo al principio y al final)

Anexo un xml con un complemento de timbre creado de esta manera y la cadena original resultado de la transformación.

De antemano gracias.

Nota: Los datos del cfdi y del timbre, son inventados. Los generé sólo para ilustrar mi punto.
Adjuntos
cadOrigTimbre.txt
Cadena Original del timbre generada usando cadenaoriginal_TFD_1_1.xslt
(444 Bytes) Descargado 396 veces
xmlEjemplo.xml
Cfdi cuyo timbre tiene Leyenda=""
(485.3 KiB) Descargado 431 veces
Última edición por fcintron el Jue Jul 27, 2017 12:40 pm, editado 1 vez en total.

fcintron
Mensajes: 24
Registrado: Vie Jul 20, 2012 11:17 am

Re: Duda en el cálculo de la cadena original del timbre...

Mensajepor fcintron » Jue Jul 27, 2017 12:37 pm

DADO escribió:No esta permitido datos vacios, dicho de otra forma no creo que el PAC te devuelva Leyenda="" (vacio)

Asi que la regla se auto-protege, ya que como bien dices tendrias un doble pipe, que indica principio o fin de cadena, pero eso no puede pasar porque no puede haber datos vacios como lo mencione.


La verdad es que este tipo de casos me obsesionan mucho(se puede decir que cuando programo soy obsesivo-compulsivo :lol: ) y por lo mismo quiero que mi programa pueda afrontarlo, por remoto que pueda parecer(nadie nos asegura que a algún programador despistado de un PAC se le pase la mano y empiece a enviar Leyenda="")

Yo me han pasado muchos de estos casos de programación, que al principio se ven como que no pueden pasar, pero al final y en la práctica si pasan!!

Muchas gracias por la ayuda.

Avatar de Usuario
Dado
Mensajes: 15824
Registrado: Mar Jul 06, 2010 8:56 pm

Re: Duda en el cálculo de la cadena original del timbre...

Mensajepor Dado » Jue Jul 27, 2017 1:15 pm

Cuando te digo que no puede ir vacio es porque es IMPOSIBLE que vaya vacio ..............claro, a menos que el PAC se arriesgue a tener una llamada de atencion por romper el esquema
Adjuntos
leyenda.png
leyenda.png (20.51 KiB) Visto 11868 veces
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!

fcintron
Mensajes: 24
Registrado: Vie Jul 20, 2012 11:17 am

Re: Duda en el cálculo de la cadena original del timbre...

Mensajepor fcintron » Jue Jul 27, 2017 3:52 pm

DADO escribió:Cuando te digo que no puede ir vacio es porque es IMPOSIBLE que vaya vacio ..............claro, a menos que el PAC se arriesgue a tener una llamada de atencion por romper el esquema



Ahhh ok ok, tienes toda la razón!

Si el PAC nos manda un cfdi timbrado entonces por fuerza debe de seguir el esquema publicado por el SAT.

Y como el PAC está certificado por el SAT, quiere decir que cualquier cfdi timbrado que me envíe, por definición es válido.

Y por lo mismo lo mejor es simplemente confiar en lo que nos regrese el PAC.

Muchas gracias por la ayuda!!

matristain
Mensajes: 7
Registrado: Mié Feb 22, 2017 2:24 pm

Re: Duda en el cálculo de la cadena original del timbre...

Mensajepor matristain » Mié Dic 13, 2017 1:54 pm

Jesus Castelo escribió:a mi me sale así usando el XSLT, lo modifique solo un poco para que funcione con el xml completo pero es casi igual:


Saludos , cual fue la modificación para que funcione con el XML completo?

joelhdez89
Mensajes: 7
Registrado: Jue Mar 01, 2012 12:33 pm

Re: Duda en el cálculo de la cadena original del timbre...

Mensajepor joelhdez89 » Jue Dic 28, 2017 3:35 am

matristain escribió:
Jesus Castelo escribió:a mi me sale así usando el XSLT, lo modifique solo un poco para que funcione con el xml completo pero es casi igual:


Saludos , cual fue la modificación para que funcione con el XML completo?


En mi caso sólo tuve que modificar el http://www.sat.gob.mx/sitio_internet/cf ... D_1_1.xslt

Cambiando:

Código: Seleccionar todo

<xsl:template match="/">
|
<xsl:apply-templates select="/tfd:TimbreFiscalDigital"/>
||
</xsl:template>


Por lo siguiente:

Código: Seleccionar todo

<xsl:template match="/">
|
<xsl:apply-templates select="//tfd:TimbreFiscalDigital"/>
||
</xsl:template>


Nótese que sólo se agregó una "/" adicional de: "/tfd:TimbreFiscalDigital" a "//tfd:TimbreFiscalDigital"

Todo esto lo hice trabajando desde Vb.NET.

Saludos, espero te sirva.


Volver a “Noticias”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados