Error al generar sello en la factura global

12 views
Skip to first unread message

macar...@gmail.com

unread,
Feb 12, 2018, 9:09:00 PM2/12/18
to TFacturaElectronica
Hola buenas noches, alguien a tenido problemas al generar el sello de un CFDI 3.3 de factura global, por el tamaño de la cadena original y como lo resolvió.

Porque yo tengo un problemas cuando el tamaño de la cadena origina supera los 999,999 el tamaño de la cadena que estoy generando es de 1,375,455.

Revisando el código encontré que donde se genera el error en esta parte del código de la función para generar el sello

Tam:=Length(aCadena); // Obtenemos el tamaño de la cadena original

try
  
System.SysUtils.StrPLCopy(inbuf, aCadena, Tam); // Copiamos la cadena original al buffer de entrada
 
except On E:Exception do
  
begin
    
if Pos('Access', E.Message) > 0 then
        
Raise ELongitudBufferPequenoException.Create('Error de sellado digital: La cadena original fue mas grande que el tamaño del buffer,' + 'por favor intente                  aumentando el tamaño del buffer.');
    
end;
end;

Yo creo que es porque el tamaño de la cadena es mayo el array declarado en el siguiente codigo
function TOpenSSL.HacerDigestion(const aCadena: TCadenaUTF8; const aTipoDigestion: TMetodoDigestion): TCadenaUTF8;
var
mdctx: EVP_MD_CTX;
{$IF CompilerVersion >= 20}
  Inbuf: Array[0..999999] of AnsiChar; // Antes [0..8192]
  Outbuf: array [0..1024] of AnsiChar;
{$ELSE}
   Inbuf: Array[0..999999] of Char;
  Outbuf: array [0..1024] of Char;
{$IFEND}
Len, Tam: cardinal;
begin
 Len := 0;
 // Verificamos tener la llave privada desencriptada
 if not Assigned(fLlavePrivadaDesencriptada) then
   
Raise ELlaveLecturaException.Create('No se tiene asiganada la llave privada, favor de asignarla con el metodo AsignarLlavePrivada');


 Muchas gracias.

Miguel Angel Carrillo.

Luis Alberto Carrasco Gómez

unread,
Feb 13, 2018, 5:20:25 PM2/13/18
to TFacturaElectronica, macar...@gmail.com
Nosotros eventualmente incluimos en nuestro sistema un límite de 10,000 ventas y si se supera se sugiere generar la factura global semanal. En tu caso puedes aumentar el buffer de tamaño sin embargo tarde o temprano se llenará y/o será muy lento pues es demasiada información.

Ing. Luis Carrasco
BAMBU CODE SA DE CV
--
Has recibido este mensaje porque estás suscrito al grupo "TFacturaElectronica" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a tfacturaelectro...@googlegroups.com.
Visita este grupo en https://groups.google.com/group/tfacturaelectronica.
Para acceder a más opciones, visita https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages