Quería comentaros, por si le sirve a alguien, que estoy utilizando el evento onRegTrasEspera para gestionar la cola de envío, y va de cine.
Mi software es de hostelería y comercio, y en principio había pensado en realizar los envíos cada vez que se cobra una factura, pero no las tenia todas conmigo, porque en muchos bares y comercios realizan varios cobros por minuto, y quien sabe si los banearían.
Para gestionar la cola de envíos hago lo siguiente:
Cuando cobro una factura compruebo la propiedad AutoEspera. Si está a False la pongo a true y realizo el envío. Y si esta a True guardo la factura en la cola (FIFO) sin realizar envío.
Código Delphi
[-]
if VerifactuD7.AutoEspera=false then begin try
HazAvisoVerifactu('Enviando registro de facturación ... ');
VerifactuD7.AutoEspera:=true;
enviarVerifactu_Simplificada( cSer,cTicket,'A');
CierraAvisoVerifactu(Proc_Ventas);
except
showmessage('Fallo al enviar Factura');
end;
end
else
Graba_Pendiente_Envio(cSerieTickets,TTicket.FieldByName('SERIE').AsString,TTicket.FieldByName('CODIG O').AsString,'S', 'N', 'N', 'N');
Luego en el evento onTrasEspera, si hay registros pendientes realizo el envío de las facturas guardadas en cola y si no hay registros pendientes de envío vuelvo a poner a False la propiedad AutoEspera.
Código Delphi
[-]
procedure TProc_Ventas.OnTrasEsperaD7( Sender: TObject );
begin
if TRegistrosPendientesEnvio.IsEmpty then
VerifactuD7.AutoEspera:=False
else
enviarVerifactu_Pendientes;
end;
Espero que le pueda servir a alguien.