Buenos dias, tengo un problema con la generacion del archivo XML, esto es en el encabezado donde debe de ir la encoding="utf-8". el resultado que obtengo es el siguiente:
<?xml version="1.0"?>
debiendo obtener
<?xml version="1.0" encoding="utf-8" ?>
el codigo que tengo para Generar el XML es tal cual esta en el programa que se vende aqui, inclusive en este programa de prueba sale el xml sin la información que comento.
XMLDoc.XML.Text :=
'<?xml version="1.0" encoding="UTF-8"?>'+
'<Comprobante xmlns="http://www.sat.gob.mx/cfd/2"></Comprobante>';
pero no entiendo porque al asignar en esta linea
CFD := GetComprobante(XMLDoc);
se pierde el encoding="utf-8"
Actualmente utilizo Delphi 2010 y trabajo sobre Windows 7. Alguien sabe como corregirlo?
Gracias por su apoyo
Atte. Marco

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
.
XML no se genera con encoding="UTF-8"
-
- Mensajes: 22
- Registrado: Lun Sep 13, 2010 10:47 pm
-
- Mensajes: 1
- Registrado: Jue Nov 18, 2010 10:12 pm
Re: XML no se genera con encoding="UTF-8"
Hola, tengo el mismo problema, utilizo delphi 2010 y Delphi XE, no me habia fijado del encabezado, pero si me di cuenta que las ñ's y vocales acentuadas cuando cargabas el comprobante se veian mal, quiero pensar que tiene que ver con el unicode que apartir de delphi 2009 comenzó y por eso no se visualiza adecuadamente, voy a correr en delphi 7 para aislar esta duda.
saludos
saludos
-
- Mensajes: 15
- Registrado: Mié Nov 10, 2010 2:11 pm
Re: XML no se genera con encoding="UTF-8"
Hola NeoFelo, aprovechando la autorización de nuestro amigo dado te comento que hice una libreria de codigo abierto que sirve para generar la factura electronica en Delphi, tanto en Delphi 7 como Delphi 2009, 2010 y XE. Puedes ver mas en la siguiente liga:
http://bambucode.com/codigoabierto/
Algunas caracteristicas de la libreria:
- Hecha 100% en clases para que sea facil de usar en cualquier proyecto.
- Usa OpenSSL y no requiere librerias o DLLs adicionales.
- Realiza el sellado de la factura llamando directamente al DLL de OpenSSL y usando la llave privada en formato .key por lo que no es necesario convertirla a formato PEM evitando los problemas de tener el archivo PEM sin llave de por medio en el disco duro del usuario.
- Obtiene el certificado en base64 para incluirlo en la factura XML directo de la libreria OpenSSL por lo que no se usa para nada llamados a openssl.exe
- Todas las funciones y procedimientos son probados con pruebas de unidad (a traves de DUnit).
- 100% codigo abierto y gratuita.
O bien puedes hechar un vistazo al codigo usado para generar el codigo si solo deseas ver como resuelvo el problema del Unicode, etc. en Delphi 2009 o superior (si me tome varios dias en resolverlo). Puedes ver el codigo fuente de la libreria en github:
http://github.com/bambucode/tfacturaelectronica
En especial los archivos ClaseOpenSSL.pas y SelloDigital.pas
Saludos!
http://bambucode.com/codigoabierto/
Algunas caracteristicas de la libreria:
- Hecha 100% en clases para que sea facil de usar en cualquier proyecto.
- Usa OpenSSL y no requiere librerias o DLLs adicionales.
- Realiza el sellado de la factura llamando directamente al DLL de OpenSSL y usando la llave privada en formato .key por lo que no es necesario convertirla a formato PEM evitando los problemas de tener el archivo PEM sin llave de por medio en el disco duro del usuario.
- Obtiene el certificado en base64 para incluirlo en la factura XML directo de la libreria OpenSSL por lo que no se usa para nada llamados a openssl.exe
- Todas las funciones y procedimientos son probados con pruebas de unidad (a traves de DUnit).
- 100% codigo abierto y gratuita.
O bien puedes hechar un vistazo al codigo usado para generar el codigo si solo deseas ver como resuelvo el problema del Unicode, etc. en Delphi 2009 o superior (si me tome varios dias en resolverlo). Puedes ver el codigo fuente de la libreria en github:
http://github.com/bambucode/tfacturaelectronica
En especial los archivos ClaseOpenSSL.pas y SelloDigital.pas
Saludos!