Imagen

DESCARGA SOFTWARE PARA FACTURA ELECTRONICA DE AQUI.
Facturacion, Validacion, Addendas, Librerias de programacion, etc.


CARTA PORTE V3.1

ECODEX TIENE ESTOS NUEVOS DATOS DE CONTACTO :
Comercializacion y Ventas - Evelia Vicke evicke@ecodex.com.mx 33-16-03-03-48
Soporte - Humberto Guerrero soporte@ecodex.com.mx 33-34-90-46-03


.

Codigo Fuente en Delphi para Timbrar

Foro dedicado para discutir la parte tecnica de como es el timbrado
[[ FORO CERRADO DEBIDO A QUE YA LA INFORMACION YA NO ES VIGENTE ]]
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por Dado »

@acanas

Cuanto ha sido tu max(ts) y tu min(ts) ?

Has notado diferencias en alguna "hora pico" en especial?

Hay un ex0.Message especial relacionado con el parametro refID, ese lo cachas y lo manejas aparte o no usas el refID?
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Avatar de Usuario
acanas
Mensajes: 477
Registrado: Mar Ene 11, 2011 3:18 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por acanas »

DADO escribió:@acanas

Cuanto ha sido tu max(ts) y tu min(ts) ?

Has notado diferencias en alguna "hora pico" en especial?

Hay un ex0.Message especial relacionado con el parametro refID, ese lo cachas y lo manejas aparte o no usas el refID?
Buena pregunta dado, voy a tratar de hacer esa comparación aunque las veces que lo hice pude ver diferencias desde 3 segundos hasta 9 segundos como máximo pero digamos que en promedio 5 segundos. Se me esta ocurriendo generar una estadística en la cual se almacene ese datos del tiempo del timbrado por PAC y comparar.

Con respecto al mensaje de error no he utilizado el RefID, utilizo el catch porque en caso de perdida de comunicación con el PAC en medio de un timbrado quiero caer en blandito :D , pero la verdad que me sirve para cachar el mensaje del error también que genera TimbreFiscal (esquema inválido, emisor inválido, etc.) y me ha resultado transparente para el usuario.En el RefID viene el código de error ? hace mucho sacaron una tabla con códigos de error en su documentación pero no se si esté relacionado directamente con el RefID.
Zyphersoft Development
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por Dado »

acanas escribió:
DADO escribió:@acanas

Cuanto ha sido tu max(ts) y tu min(ts) ?

Has notado diferencias en alguna "hora pico" en especial?

Hay un ex0.Message especial relacionado con el parametro refID, ese lo cachas y lo manejas aparte o no usas el refID?
Buena pregunta dado, voy a tratar de hacer esa comparación aunque las veces que lo hice pude ver diferencias desde 3 segundos hasta 9 segundos como máximo pero digamos que en promedio 5 segundos. Se me esta ocurriendo generar una estadística en la cual se almacene ese datos del tiempo del timbrado por PAC y comparar.

Con respecto al mensaje de error no he utilizado el RefID, utilizo el catch porque en caso de perdida de comunicación con el PAC en medio de un timbrado quiero caer en blandito :D , pero la verdad que me sirve para cachar el mensaje del error también que genera TimbreFiscal (esquema inválido, emisor inválido, etc.) y me ha resultado transparente para el usuario.En el RefID viene el código de error ? hace mucho sacaron una tabla con códigos de error en su documentación pero no se si esté relacionado directamente con el RefID.
El RefID esta chido, es un numero que tu generas para identificar a tu CFD de forma unica.

La secuencia es mas o menos :

1. generas el sapo request ;) , le agregas por ejemplo RefID=ABC0025
2. lo envias a timbrefiscalmx
3. timbrefiscalmx le genera el timbre (nota, todavia no lo regresa)
4. Chin! pierdes la comunicacion
5. timbrefiscalmx envia de regreso el timbre, pero tu "ya no estas ahi", pierdes el timbre.
6. detectas el error, intentas nuevamente enviar tu cfd PERO CON EL MISMO REFID
7. timbrefiscalmx reconoce tu REFID y en lugar de crear OTRO TIMBRE te regresa EL MISMO QUE SE HABIA PERDIDO
8. recibes el timbre, es una copia del que se habia perdido
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Avatar de Usuario
acanas
Mensajes: 477
Registrado: Mar Ene 11, 2011 3:18 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por acanas »

Woorale no pues si esta chido porque tecnicamente si pierdes la comunicación con el PAC pero generaste el timbre no hay necesidad de dupliar el timbre, no se si otros PACS tengan implementado un mecanismo similar de darle seguimiento a un timbre previamente generado y que te lo mande de regreso. Buen dato!
Zyphersoft Development
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por Dado »

acanas escribió:Woorale no pues si esta chido porque tecnicamente si pierdes la comunicación con el PAC pero generaste el timbre no hay necesidad de dupliar el timbre, no se si otros PACS tengan implementado un mecanismo similar de darle seguimiento a un timbre previamente generado y que te lo mande de regreso. Buen dato!
BuzonE tambien tiene algo similar, lo malo es que es una de esas "funciones no documentadas" y la descubri mas por error que por buscarlo.

Resulta que si envias *el mismo* CFD dos veces en la segunda te envia el error "Este CFD ya tiene asignado un UUID:xxxx-xxxx-xxxx" lo malo que no'mas te dice eso pero no te devuelve el timbre, supongo que puedes recuperarlo de su portal, pero imaginate que lio : "estimado usuario (que no sabe nada de cfdi ya es es un doctor, ingeniero, etc) el mensaje SOAP que me envia el PAC dice que tiene un UUIDD repetido, debe entrar al portal (con una clave que usted no conoce) y recuperar el CFDI" je je je mas de uno llamaria preguntando por la sra madre del desarrollador.......
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
spaniaguag
Mensajes: 137
Registrado: Vie Oct 08, 2010 3:12 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por spaniaguag »

Hola Dado:

Estoy haciendo pruebas con tus rutinas de buzone y encontré un error, si el folio de la factura no lleva serie buzone te responde con el error:

El CFD no paso la validacion vs el XSD - local:///timbradoCFD/createCFDTimbrado.xsl: cvc-type 3.1.1: element {http://www.sat.gob.mx/cfd/3}Comprobante attribute serie had invalid value '' of type '<null>''

y esto ocurre porque cuando armas el xml si generas un numero de serie nulo:

'<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" folio="000163" fecha="2011-03-31T00:37:42" formaDePago="Una sola exhibición" subTotal="12600.00" descuento="1260.00" motivoDescuento="Descuento" TipoCambio="1.0000" Moneda="MXN" total="13154.40" tipoDeComprobante="ingreso" noCertificado="30001000000100000800"
certificado="...qEQ=" ** aqui va todo el certificado ***
serie="">

podrías ayudarme?
Avatar de Usuario
acanas
Mensajes: 477
Registrado: Mar Ene 11, 2011 3:18 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por acanas »

que no se supone que el no. de serie es opcional en cfdv3? creo que esto es un bug de buzone.
Zyphersoft Development
spaniaguag
Mensajes: 137
Registrado: Vie Oct 08, 2010 3:12 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por spaniaguag »

Si es opcional, y por ello no debe aparecer en el xml, en este caso el xml contiene serie = ""
Avatar de Usuario
acanas
Mensajes: 477
Registrado: Mar Ene 11, 2011 3:18 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por acanas »

ahhh si es cierto.. ya que me acuerdo yo le paso un null y se elimina al momento de serializar mi clase de comprobante a xml. Buen punto.
Zyphersoft Development
Avatar de Usuario
Dado
Mensajes: 15980
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por Dado »

spaniaguag escribió:Hola Dado:

Estoy haciendo pruebas con tus rutinas de buzone y encontré un error, si el folio de la factura no lleva serie buzone te responde con el error:

El CFD no paso la validacion vs el XSD - local:///timbradoCFD/createCFDTimbrado.xsl: cvc-type 3.1.1: element {http://www.sat.gob.mx/cfd/3}Comprobante attribute serie had invalid value '' of type '<null>''

y esto ocurre porque cuando armas el xml si generas un numero de serie nulo:

'<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" folio="000163" fecha="2011-03-31T00:37:42" formaDePago="Una sola exhibición" subTotal="12600.00" descuento="1260.00" motivoDescuento="Descuento" TipoCambio="1.0000" Moneda="MXN" total="13154.40" tipoDeComprobante="ingreso" noCertificado="30001000000100000800"
certificado="...qEQ=" ** aqui va todo el certificado ***
serie="">

podrías ayudarme?
Pues si no tiene serie, que es totalmente valido en los dos esqueas (v2 y v3) quita el atributo por completo

Quiero suponer que *no* estas usando mis rutinas o libreria ya que estas tienen un "candado" para evitar que se generen atributos vacios.

Mi recomendacion es que en tu codigo programes, igual que yo, algo asi como :

if value<>'' then setattribute(...)

Es decir, "si el valor que se va a asignar al atributo es distinto de vacio entonces lo asigna, de otra forma no"
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Cerrado