PDA

Ver la Versión Completa : TFacturaElectronica con soporte para CFDI


lcarrasco
29-11-2013, 16:07:22
Hace ya más de un 1 año publicamos una biblioteca para realizar facturas electrónicas en México para la versión CFD v2.0/2.2 y como muchos saben, la legislación obliga a todo contribuyente a facturar electrónicamente desde el 1 de Enero del 2014, por ello el día de ayer actualizamos el código para agregar soporte para la generación de Comprobantes Fiscales Digitales (CFDI) en su versión 3.2 con soporte para timbrado con los PAC de Ecodex y Comercio Digital de forma inicial.

Pueden ver el código fuente y contribuir desde la página del proyecto de GitHub:
http://github.com/bambucode/tfacturaelectronica

Agradecemos cualquier sugerencia, reporte de falla y/o contribución desde la sección de "Issues" del proyecto:
https://github.com/bambucode/tfacturaelectronica/issues?state=open

Gracias!

axesys
30-11-2013, 02:01:48
Hace ya más de un 1 año publicamos una biblioteca para realizar facturas electrónicas en México para la versión CFD v2.0/2.2 y como muchos saben, la legislación obliga a todo contribuyente a facturar electrónicamente desde el 1 de Enero del 2014, por ello el día de ayer actualizamos el código para agregar soporte para la generación de Comprobantes Fiscales Digitales (CFDI) en su versión 3.2 con soporte para timbrado con los PAC de Ecodex y Comercio Digital de forma inicial.

Pueden ver el código fuente y contribuir desde la página del proyecto de GitHub:
http://github.com/bambucode/tfacturaelectronica

Agradecemos cualquier sugerencia, reporte de falla y/o contribución desde la sección de "Issues" del proyecto:
https://github.com/bambucode/tfacturaelectronica/issues?state=open

Gracias!

Excelente justo lo que andaba buscando

ElKurgan
30-11-2013, 16:42:23
Muchas gracias por tan grande contribución, compañeros

Saludas

gmontes
06-12-2013, 19:50:49
gracias, ¿no han pensado en conectar el timbrado a alguna aplicacion de contpaq para que el timbrado sea 0 pesos?. aunque se que esto del 0 pesos es ficticio. adminpaq trae un sdk para delphi en el directorio bin

lcarrasco
06-12-2013, 20:20:38
Hola, no es algo que este dentro de los intereses particulares de nuestra empresa. Sin embargo al ser código abierto pueden contribuir con dicha integración si así lo desean.

Saludos

gmontes
07-12-2013, 22:12:05
ok, gracias. lo probare :)

IVAND
22-12-2013, 19:31:28
Hola a todos

Se puede aplicar este modelo a la facturacion electronica en ecuador ?

lcarrasco
22-12-2013, 19:40:51
Hola, de momento aplica solo para la legislación de México por lo que se tendrían que hacer adecuaciones a las especificaciones técnicas de su país respecto a la generación del XML, sello, etc.

Saludos!

mak8888
13-11-2014, 08:06:34
Hola. Estoy probando el programa en Delphi 7 y no consigue encontrar el archivo RegularExpressions.dcu. He tirado de Google, pero no me queda claro si es que esa unit va incluida en versiones posteriores de Delphi o tengo que descargarla de algún sitio.
Gracias a todos

mak8888
13-11-2014, 10:10:54
En Delphi XE5 me da error indicándome que no encuentra el archivo httpsend.dcu
¿Con qué versión de delphi conseguisteis compilar la aplicación?

Mariu Vega
19-11-2014, 10:03:49
Muchas gracias por el aporte!

tmsanchez
27-11-2014, 05:41:20
Hola, para compilar con Delphi XE5 necesitas descargar los componentes Synapse de la siguiente dirección:

http://colocrossing.dl.sourceforge.net/project/synalist/Ararat%20Synapse%20Release/39/synapse39.zip

Una vez que los hayas descargado, descomprimes el archivo zip y vas al menú Tools / Options y despues seleccionas Environment Options / Delphi Options / Library en el cuadro de texto Library Path agregas la carpeta synapse39\source\lib

Algo muy importante, cuando corras el proyecto de ejemplo te va a marcar un error en la unit synautil.pas en las lineas que hacen referencia TimeSeparator y ShortMonthNames.

La solución es editar synautil.pas y modificar la función getTimeFromStr


function GetTimeFromStr(Value: string): TDateTime;
var
x: integer;
begin
x := rpos(':', Value);
if (x > 0) and ((Length(Value) - x) > 2) then
Value := Copy(Value, 1, x + 2);
Value := ReplaceString(Value, ':', System.SysUtils.FormatSettings.TimeSeparator);
Result := -1;
try
Result := StrToTime(Value);
except
on Exception do ;
end;
end;


También al final de archivo (linea 1800) tienes que modificarlo de la siguiente forma:


{==============================================================================}
var
n: integer;
begin
for n := 1 to 12 do
begin
CustomMonthNames[n] := System.SysUtils.FormatSettings.ShortMonthNames[n];
MyMonthNames[0, n] := System.SysUtils.FormatSettings.ShortMonthNames[n];
end;
end.

Te recomiendo abrir el proyecto EjemploFacturaElectronica.dproj y ejecutarlo, no olvides copiar los archivos quricol32.dll y quricol64.dll

Espero te haya sido de utilidad.

Saludos.

mak8888
27-11-2014, 12:20:11
Muchas gracias por la ayuda.
Saludos

bitbow
22-03-2015, 03:50:47
Hola, alguien sabe si se puede compilar el proyecto con delphi 2006? esnecesario agragar algun componente?

Me da el siguiente error >> [Pascal Fatal Error] CadenaOriginal.pas(63): F1026 File not found: 'RegularExpressions.dcu'

Saludos.

jhonny
22-03-2015, 04:45:27
No utilizo dicho componente, pero prueba a direccionar la unidad que te ha pedido... la que mencionas por ejemplo, esta "Ruta de donde está Delphi"\source\rtl\common