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: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Codigo Fuente en Delphi para Timbrar [Buzon E]

Mensaje por Dado »

poliman escribió:Hola.

Tengo una pregunta acerca del funcionamiento de Buzon E.

¿ Todos los clientes con distintos RFC usaran el mismo certificado ?

¿Si alguien obtiene ese certificado, podria timbrar en otra aplicacion solo con eso o hay algun otro candado ?

Pregunto lo anterior porque en mi caso son diferentes clientes, y ¿ si ese certificado cae en las manos equivocadas que pasaria ?

Gracias.
BuzonE no usa certificado para accesar, usa clave y contraseña.

Ahora la forma de proteger lo que mencionas es que *unicamente* va a timbrar los RFC que tu registres en el portal de BuzonE, asi que aunque la clave y contraseña sean comprometidos no van a poder facturar "lo que sea".
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
poliman
Mensajes: 89
Registrado: Jue Dic 30, 2010 8:32 pm

Re: Codigo Fuente en Delphi para Timbrar [Buzon E]

Mensaje por poliman »

DADO escribió:
poliman escribió:Hola.

Tengo una pregunta acerca del funcionamiento de Buzon E.

¿ Todos los clientes con distintos RFC usaran el mismo certificado ?

¿Si alguien obtiene ese certificado, podria timbrar en otra aplicacion solo con eso o hay algun otro candado ?

Pregunto lo anterior porque en mi caso son diferentes clientes, y ¿ si ese certificado cae en las manos equivocadas que pasaria ?

Gracias.
BuzonE no usa certificado para accesar, usa clave y contraseña.

Ahora la forma de proteger lo que mencionas es que *unicamente* va a timbrar los RFC que tu registres en el portal de BuzonE, asi que aunque la clave y contraseña sean comprometidos no van a poder facturar "lo que sea".
Muchas gracias Dado por tu pronta respuesta. :)
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por Dado »

SEGUNDO UPDATE PARA EL CODIGO DE TIMBRADO CON TIMBREFISCALMX

Esos de TimbreFiscalMx siguen haciendo de las suyas con los namespace, ahora el "Error Response" tiene un namespace de "ns15"

Solo para justificar que ES MUY MALO LO QUE ESTAN HACIENDO les comento, que precisamente el namespace sirve para diferenciar dos datos con el mismo nombre, por ejemplo si tuvieran :

Tabla="esto es una tabla de madera"

Tabla="esto es una tabla de multiplicar"

Como diferenciarian una de otra? muy simple, con un prefijo como en :

materiales:Tabla="esto es una tabla de madera"

matematicas:Tabla="esto es una tabla de multiplicar"

PERO SI TimbreFiscalMx un dia "me dice" que el error viene como

ns13:Error="No es un emisor valido"

y al "siguiente dia" (como hoy, que recibi una nota de un forista) me envia el error como

ns15:Error="No es un emisor valido"

POR DEFINICION ns13:Error NO TIENE NADA QUE VER CON ns15:Error, son dos objetos totalmente distintos !!!

En fin, despues de este choro mareador.......unidad TimbreFiscalMx, funcion Interpretamensaje, linea (aprox) 108, por favor quiten TODOS los namespace siguientes (ya estaban definidos quitar algunos, pa' no fallarle vamos a quitar del 1 al 20) :

Código: Seleccionar todo

	else
	begin
		Msg := AnsiReplaceStr(Msg,'<S:','<'); Msg := AnsiReplaceStr(Msg,'</S:','</');
		Msg := AnsiReplaceStr(Msg,'<ns1:','<'); Msg := AnsiReplaceStr(Msg,'</ns1:','</');		
		Msg := AnsiReplaceStr(Msg,'<ns2:','<'); Msg := AnsiReplaceStr(Msg,'</ns2:','</');
		Msg := AnsiReplaceStr(Msg,'<ns3:','<'); Msg := AnsiReplaceStr(Msg,'</ns3:','</');
		Msg := AnsiReplaceStr(Msg,'<ns4:','<'); Msg := AnsiReplaceStr(Msg,'</ns4:','</');
		Msg := AnsiReplaceStr(Msg,'<ns5:','<'); Msg := AnsiReplaceStr(Msg,'</ns5:','</');
		Msg := AnsiReplaceStr(Msg,'<ns6:','<'); Msg := AnsiReplaceStr(Msg,'</ns6:','</');
		Msg := AnsiReplaceStr(Msg,'<ns7:','<'); Msg := AnsiReplaceStr(Msg,'</ns7:','</');
		Msg := AnsiReplaceStr(Msg,'<ns8:','<'); Msg := AnsiReplaceStr(Msg,'</ns8:','</');
		Msg := AnsiReplaceStr(Msg,'<ns9:','<'); Msg := AnsiReplaceStr(Msg,'</ns9:','</');
		Msg := AnsiReplaceStr(Msg,'<ns10:','<'); Msg := AnsiReplaceStr(Msg,'</ns10:','</');
		Msg := AnsiReplaceStr(Msg,'<ns11:','<'); Msg := AnsiReplaceStr(Msg,'</ns11:','</');
		Msg := AnsiReplaceStr(Msg,'<ns12:','<'); Msg := AnsiReplaceStr(Msg,'</ns12:','</');
		Msg := AnsiReplaceStr(Msg,'<ns13:','<'); Msg := AnsiReplaceStr(Msg,'</ns13:','</');
		Msg := AnsiReplaceStr(Msg,'<ns14:','<'); Msg := AnsiReplaceStr(Msg,'</ns14:','</');
		Msg := AnsiReplaceStr(Msg,'<ns15:','<'); Msg := AnsiReplaceStr(Msg,'</ns15:','</');
		Msg := AnsiReplaceStr(Msg,'<ns16:','<'); Msg := AnsiReplaceStr(Msg,'</ns16:','</');
		Msg := AnsiReplaceStr(Msg,'<ns17:','<'); Msg := AnsiReplaceStr(Msg,'</ns17:','</');
		Msg := AnsiReplaceStr(Msg,'<ns18:','<'); Msg := AnsiReplaceStr(Msg,'</ns18:','</');
		Msg := AnsiReplaceStr(Msg,'<ns19:','<'); Msg := AnsiReplaceStr(Msg,'</ns19:','</');
		Msg := AnsiReplaceStr(Msg,'<ns20:','<'); Msg := AnsiReplaceStr(Msg,'</ns20:','</');

		XMLDoc := TXMLDocument.Create(Application);
		XMLDoc.XML.Text := Msg;
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 »

El caso de timbrefiscal suena muy bien para estar enhttp://www.codinghorror.com, no entiendo porque usar prefijos dinámicos, que no pueden usar uno fijo?, quiero suponer que es una pifia de los programadores del web service de timbrefiscal.
Zyphersoft Development
EJSG
Mensajes: 73
Registrado: Jue Jul 08, 2010 7:18 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por EJSG »

Hola Dado, pues con esta situacion de cambios repentinos por parte de TimbreFiscalMX en la interface, como que no suena como una buena opcion de proveedor para nosotros los desarrolladores, no? Porque lo que necesitamos es desarrollar un codigo, distribuirlo con nuestros clientes y listo... no tener que estarlo actualizando a cada rato que se le pega la gana al proveedor.

En estos momentos ya tengo que entrarle al CFDI, por lo que dada esta sitaucion, estaria descartando a TimbreFiscalMX (aunque ya te compre la libreria de timbrado para ellos) y solo considerando a Edicom y BuzonE. Tienes alguna recomendación que me puedas hacer para tomar la desicion? Voy a estar mandando a timbrar los comprobantes de varios de mis clientes, por lo que espero un volumen considerable. Muchas gracias y saludos.
Avatar de Usuario
acanas
Mensajes: 477
Registrado: Mar Ene 11, 2011 3:18 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por acanas »

Hace unos momentos genere un CFDI para ver si habia cambiado algo con los de timbrefiscal y por error no deje configurado el RFC emisor requerido para el acceso y mi aplicación si me genero el error del ws "Emisor no válido".Alratito voy a loggear el soap request y response que recibe y genera mi programa y se los comparto para ver si hubo algún cambio.
Zyphersoft Development
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por Dado »

EJSG escribió:Hola Dado, pues con esta situacion de cambios repentinos por parte de TimbreFiscalMX en la interface, como que no suena como una buena opcion de proveedor para nosotros los desarrolladores, no? Porque lo que necesitamos es desarrollar un codigo, distribuirlo con nuestros clientes y listo... no tener que estarlo actualizando a cada rato que se le pega la gana al proveedor.

En estos momentos ya tengo que entrarle al CFDI, por lo que dada esta sitaucion, estaria descartando a TimbreFiscalMX (aunque ya te compre la libreria de timbrado para ellos) y solo considerando a Edicom y BuzonE. Tienes alguna recomendación que me puedas hacer para tomar la desicion? Voy a estar mandando a timbrar los comprobantes de varios de mis clientes, por lo que espero un volumen considerable. Muchas gracias y saludos.
Lo siento pero como admin del sitio mi posicion es neutra respecto a los PAC. No puedo ni recomendar ni criticarlos (aunque me gustaria je je je)

Pero puedes leer la opinion *libre* de los demas foristas e incluso abrir un tema nuevo si lo consideras pertinente.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
Avatar de Usuario
Dado
Mensajes: 15981
Registrado: Mar Jul 06, 2010 7:56 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por Dado »

acanas escribió:Hace unos momentos genere un CFDI para ver si habia cambiado algo con los de timbrefiscal y por error no deje configurado el RFC emisor requerido para el acceso y mi aplicación si me genero el error del ws "Emisor no válido".Alratito voy a loggear el soap request y response que recibe y genera mi programa y se los comparto para ver si hubo algún cambio.
Quiero pensar tambien que puedan tener 2 o mas servidores y haya pequeñas diferencias entre uno y otro, es posible que los namespace no sean dinamicos, que mas bien sean estaticos PERO por servidor

De cualquier manera me quedo al pendiente (y ustedes tambien!) de cualquier reporte para poderlo solucionar lo mas pronto posible.
ADDENDAS? VALIDACION? CODIGO PARA PROGRAMAR TU PROPIA SOLUCION? TODO LO TENEMOS EN WWW.VALIDACFD.COM VISITANOS !!
crixus
Mensajes: 279
Registrado: Mar Ene 18, 2011 11:29 am
Ubicación: Guadalajara
Contactar:

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por crixus »

DADO escribió:
acanas escribió:Hace unos momentos genere un CFDI para ver si habia cambiado algo con los de timbrefiscal y por error no deje configurado el RFC emisor requerido para el acceso y mi aplicación si me genero el error del ws "Emisor no válido".Alratito voy a loggear el soap request y response que recibe y genera mi programa y se los comparto para ver si hubo algún cambio.
Quiero pensar tambien que puedan tener 2 o mas servidores y haya pequeñas diferencias entre uno y otro, es posible que los namespace no sean dinamicos, que mas bien sean estaticos PERO por servidor

De cualquier manera me quedo al pendiente (y ustedes tambien!) de cualquier reporte para poderlo solucionar lo mas pronto posible.
La infractrustucar de casi todos los PAC's son dos ubicaciones fisicas, yo tengo enfrente de nuestro RACK a dos :P haha pero creo que lo de los namespace no tiene que ver, puesto que entre ellos se conectan por ip de manera local.
Te invito a visitar mi blog personal http://www.luiscisneros.com.mx/
Avatar de Usuario
acanas
Mensajes: 477
Registrado: Mar Ene 11, 2011 3:18 pm

Re: Codigo Fuente en Delphi para Timbrar

Mensaje por acanas »

Así tengo mi soap envolpe que genero a través de mi aplicación,yo creo que como construyes a patin el Mensaje Soap requieres de prefijos de namespace fijos y pues si timbrefiscal esta cambie y cambie ahi te va a tronar el asunto. En .Net yo lo que hago es que genero através del wsdl una clase que consume el web service de timbrefiscal y esta a su vez me genera el codigo requerido para acceder a los metodos del web service y si ellos cambian prefijos no me afecta porque siempre acceso a la función timbradoCFDI que se generó por medio de la clase Proxy de .Net.

Código: Seleccionar todo

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><RequestTimbradoCFD d3p1:RefID="" xmlns:d3p1="http://www.buzonfiscal.com/ns/xsd/bf/RequestTimbraCFDI" xmlns="http://www.buzonfiscal.com/ns/xsd/bf/TimbradoCFD"><d3p1:Documento Tipo="ZIP" /><cfdi:Comprobante xmlns:ecb="http://www.sat.gob.mx/ecb" xmlns:terceros="http://www.sat.gob.mx/terceros" xmlns:implocal="http://www.sat.gob.mx/implocal" xmlns:psgecfd="http://www.sat.gob.mx/psgecfd" xmlns:tfd="http://www.sat.gob.mx/TimbreFiscalDigital" xmlns:zscfdi="http://www.zyfersoft.com/xsd/ZSAddenda/v1" xmlns:ecc="http://www.sat.gob.mx/ecc" xmlns:detallista="http://www.sat.gob.mx/detallista" 
<soap:Body>
---------DETALLLE DE CFDI-----------------
</soap:Body>
</soap:Envelope>
En caso de que haya un error en el web service hago esto:

Código: Seleccionar todo

try
            {
                //timbre.
                dtm1 = DateTime.Now;
                tfd = timbre.timbradoCFD(req);
                dtm2 = DateTime.Now;
                ts = dtm2 - dtm1;
                string strRes = ts.TotalSeconds.ToString();
            }
            catch (Exception ex0)
            {
                //asignar bandera de error para reintentar de nuevo.
                tf.HuboError = true;
                tf.MensajeError = ex0.Message;
                return tf;
            }

Adjuntos
timbrado_proxyclass.png
timbrado_proxyclass.png (22.3 KiB) Visto 10531 veces
Zyphersoft Development
Cerrado