Permalink
Browse files

COMPROBANTEFISCAL: Se usa la digestion correct (MD5, SHA1) segun la f…

…echa usada del comprobante y no la de la PC actual (corrige error que hacia que al correr las pruebas de unidad fallaran en el 2011).

- Se agregaron unidades necesarias para correr el archivo de ejemplo.
  • Loading branch information...
1 parent bd58115 commit c41f4bca2786602a2563ac4c775704de948c5578 @lcarrasco lcarrasco committed Jan 11, 2011
Showing with 13 additions and 3 deletions.
  1. +10 −2 ComprobanteFiscal.pas
  2. +3 −1 Ejemplo/EjemploFacturaElectronica.dpr
View
@@ -652,11 +652,19 @@ function TFEComprobanteFiscal.getSelloDigital(): String;
// Si aun no ha sido generada la factura la "llenamos"
LlenarComprobante;
fSelloDigitalCalculado:='';
- // Segun la leglislacion vigente si la factura se hace antes del 1 de Enero del 2011, usamos MD5
- if Now < EncodeDate(2011, 1, 1) then
+
+ {$IFDEF VERSION_DE_PRUEBA}
+ Assert(FechaGeneracion > EncodeDate(2010, 1, 1),
+ 'La fecha de generacion debe ser en el 2010 o superior!!');
+ {$ENDIF}
+
+ // Segun la leglislacion vigente si la factura se hace
+ // antes del 1 de Enero del 2011, usamos MD5
+ if (FechaGeneracion < EncodeDate(2011, 1, 1)) then
TipoDigestion := tdMD5
else // Si es 2011 usamos el algoritmo SHA-1
TipoDigestion := tdSHA1;
+
try
// Creamos la clase SelloDigital que nos ayudara a "sellar" la factura en XML
SelloDigital := TSelloDigital.Create(Self.CadenaOriginal, fCertificado, TipoDigestion);
@@ -28,7 +28,9 @@ uses
LibEay32Plus in '..\LibEay32Plus.pas',
OpenSSLUtils in '..\OpenSSLUtils.pas',
SelloDigital in '..\SelloDigital.pas',
- FeCFDv2 in '..\CFD\FeCFDv2.pas';
+ FeCFDv2 in '..\CFD\FeCFDv2.pas',
+ DocComprobanteFiscal in '..\DocComprobanteFiscal.pas',
+ CadenaOriginal in '..\CadenaOriginal.pas';
var
sArchivo: String;

0 comments on commit c41f4bc

Please sign in to comment.