Página 3 de 6

Re: Correcciones al Codigo Fuente que ofrezco en Mdo Libre

Publicado: Vie Dic 03, 2010 4:00 pm
por Dado
Alexander escribió:Hola Dado,
hace poco compré su codigo en ML y todo parece funcionar bien, pero al momento de hacer las pruebas con certificados los que vienen de ejemplo en el programita MicroE, se empezaron a generarse los errores GPF al momento de cargar certificados, trate de cargar los mismos certificados en el programa de ejemplo que viene con el código fuente y tambien se generaron los mismos errores en el módulo libeay32.dll al momento de crear archivo pkey.key.pem

---------------------------
Debugger Exception Notification
---------------------------
Project Dentaclinic2009.exe raised exception class EAccessViolation with message 'Access violation at address 1004E445 in module 'libeay32.dll'. Read of address 00000000'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
Por el "Project Dentaclinic2009.exe" quiero suponer que estas usando Delphi 2009 o 2010, si es asi checa esta entrada http://www.validacfd.com/phpbb3/viewtopic.php?f=6&t=125

Si no es D2009/2010 necesito que hagas un trace y me digas en que unidad y si es posible en que linea aparece este error, ya que el error por si solo no me dice nada

P.D. que son los errores GPF?

P.D.2 Yo se que te vendi un programa que deberia estar libre de errores, o por lo menos los menos y mas chicos posibles, si te pido depurar es porque como haz visto en el foro NUNCA he tenido un error como el que me comentas, las rutinas han sufrido correcciones "leves" pero una excepcion del tamaño que me pones si es algo que honestamente no deberia pasar, debe ser uno de esos casos 1 en mil que tu combinacion de PC + Windows + Delphi + mouse y teclado (je je) no funciona con mis rutinas.

Re: Correcciones al Codigo Fuente que ofrezco en Mdo Libre

Publicado: Vie Dic 03, 2010 7:00 pm
por Alexander
Hola Dado,

soy programador desde hace muchos años y se perfectamente que no existe software sin errores, solo quiero ayudar a encontrar y depurar errores para bien de todos.
Uso Delphi 7, voy a hacer el trace para ubicar el error, mientras simplemente intenta a cargar el sertificado que viene como ejemplo con MicroE (personas morales). Al momento de cargarlo aparece el error.

Saludos

Re: Nuevo error detectado cuando no se usa serie

Publicado: Jue Dic 09, 2010 10:13 am
por Sodesne
A mi me está pasando lo mismo pero a pesar que cuando viene vacia la serie no se le asigne nada al mandar llamar a ExportaXML en el contenido del archivo XML el atributo me aparece serie="" y causa que el validador del sat me tire el error . y al guardar el archivo xml lo mando sin el CFD.Serie "ExportaXML(GetSystemPath(Desktop)+CFD.Emisor.Rfc+' '+CFD.Serie+'-'+CFD.Folio+'.xml');"

¿Hay alguna manera de evitar que aparezca el atributo serie en el contenido del archivo XML a pesar que ya está validado con el
if Value <> '' then SetAttribute('serie', Value); ?

Saludos

Re: Nuevo error detectado cuando no se usa serie

Publicado: Jue Dic 09, 2010 10:29 am
por Dado
Sodesne escribió:A mi me está pasando lo mismo pero a pesar que cuando viene vacia la serie no se le asigne nada al mandar llamar a ExportaXML en el contenido del archivo XML el atributo me aparece serie="" y causa que el validador del sat me tire el error . y al guardar el archivo xml lo mando sin el CFD.Serie "ExportaXML(GetSystemPath(Desktop)+CFD.Emisor.Rfc+' '+CFD.Serie+'-'+CFD.Folio+'.xml');"

¿Hay alguna manera de evitar que aparezca el atributo serie en el contenido del archivo XML a pesar que ya está validado con el
if Value <> '' then SetAttribute('serie', Value); ?

Saludos

Quita el CFD.Serie de la funcion ExportaXML

DEBE QUEDAR ASI :

Código: Seleccionar todo

ExportaXML(GetSystemPath(Desktop)+CFD.Emisor.Rfc+'-'+CFD.Folio+'.xml');

Re: Nuevo error detectado cuando no se usa serie

Publicado: Jue Dic 09, 2010 10:34 am
por Sodesne
Pero ya se lo quité, lo tengo así:

Código: Seleccionar todo

FacturaEForm.ExportaXML('C:\FacturaE\' + FacturaEForm.CFD.Emisor.Rfc + '_' + lgSerie + FacturaEForm.CFD.Folio+'.xml');
donde lgSerie es una vil variable que se llena en caso de que el rango de folios del sat tenga serie definida. pero tmb si lo mando llamar con

Código: Seleccionar todo

FacturaEForm.ExportaXML('C:\FacturaE\' + FacturaEForm.CFD.Emisor.Rfc + '_' + FacturaEForm.CFD.Folio+'.xml');
sigue pasando lo mismo
dado escribió: Quita el CFD.Serie de la funcion ExportaXML

DEBE QUEDAR ASI :

Código: Seleccionar todo

ExportaXML(GetSystemPath(Desktop)+CFD.Emisor.Rfc+'-'+CFD.Folio+'.xml');

Re: Correcciones al Codigo Fuente que ofrezco en Mdo Libre

Publicado: Jue Dic 09, 2010 11:03 am
por Dado
En algun lado de tu codigo, sin importar el lugar, mandas leer la serie con algo asi como :

Código: Seleccionar todo

lgserie := FacturaEForm.CFD.Serie

o algo como

if FacturaEForm.CFD.Serie = '' then.....
O algo parecido, no importa si la estas leyendo en una variable o la usas en un if o DONDE SEA pero que uses CFD.Serie?

Si es asi, entonces ahi esta el problema, NO PUEDES LEERLA sin crear en blanco el atributo, y reconozco que es una limitante de la interface, la solucion ( y por eso esta ahi) es usar CFDCopy

Re: Correcciones al Codigo Fuente que ofrezco en Mdo Libre

Publicado: Jue Dic 09, 2010 12:13 pm
por mariocl
Hola

Es verdad esto que viene en los doctos del SAT
El algoritmo de cifrado y hash fue cambiado a SHA1,
¿esto aplica para todos los comprobantes de Versión 2 a partir del 1 de enero del 2011? Si

O sea que apartir del 1 de Enero cambio esta linea
del procedimiento calculasello de MD5 a SHA1?
EVP_SignInit(@mdctx,EVP_md5());

Ya se pueden validar CFD v2 sellados con SHA1 en lugar de MD5?
El ValidaCFD contempla esta distinción?

Saludos
Mario.

Re: Correcciones al Codigo Fuente que ofrezco en Mdo Libre

Publicado: Jue Dic 09, 2010 12:27 pm
por Dado
mariocl escribió:Hola

Es verdad esto que viene en los doctos del SAT
El algoritmo de cifrado y hash fue cambiado a SHA1,
¿esto aplica para todos los comprobantes de Versión 2 a partir del 1 de enero del 2011? Si

O sea que apartir del 1 de Enero cambio esta linea
del procedimiento calculasello de MD5 a SHA1?
EVP_SignInit(@mdctx,EVP_md5());

Ya se pueden validar CFD v2 sellados con SHA1 en lugar de MD5?
El ValidaCFD contempla esta distinción?

Saludos
Mario.
Si, si, si, si y si. Todo lo que mencionas es correcto incluyendo lo de la validacion por parte del ValidaCFD, te recomiendo BUSCAR aqui en el foro la palabra SHA1 hay sinfin de mensajes al respecto

Re: Correcciones al Codigo Fuente que ofrezco en Mdo Libre

Publicado: Jue Dic 09, 2010 4:44 pm
por Sodesne
Tenías razón en algún lugar del codigo mandaba ler la serie y ya evitando ese llamado ya no sale el atributo en el XML con valor vacío.

Gracias
dado escribió:En algun lado de tu codigo, sin importar el lugar, mandas leer la serie con algo asi como :

Código: Seleccionar todo

lgserie := FacturaEForm.CFD.Serie

o algo como

if FacturaEForm.CFD.Serie = '' then.....
O algo parecido, no importa si la estas leyendo en una variable o la usas en un if o DONDE SEA pero que uses CFD.Serie?

Si es asi, entonces ahi esta el problema, NO PUEDES LEERLA sin crear en blanco el atributo, y reconozco que es una limitante de la interface, la solucion ( y por eso esta ahi) es usar CFDCopy

Re: Correcciones al Codigo Fuente que ofrezco en Mdo Libre

Publicado: Sab Ene 01, 2011 12:47 am
por ffxtydus
que tal,
a que se refiere un error que marca que le falta el archivo interfaces.dcu, este error me sale cuando trato de correr el codigo que me enviaste.