Hola colegas.
Desarrolle un sistema de facturación fiscal con impresora hasar f250 de segunda generación. El sistema esta funcionando bien siempre y cuando la impresora este conectada.. Me gustaría saber si alguien pudo hacer un servicio que ponga los ticket en cola de impresión hasta que la impresora vuelva a conectarse o algo similar.. o sea realizar la venta si la impresora no esta en servicio que ponga el ticket en una cola de impresión hasta que vuelva la conexion.
o alguna idea de como puedo solucionar ese tema?
adjunto el codigo del boton de imprimir
Código Delphi
[-]
try
impresora.Conectar('192.168.0.120',80,2000,2000);
respabrir:=impresora.AbrirDocumento(Tique);
fmodulo.ZQgetDetail.First;
while(not fmodulo.ZQgetDetail.Eof) do
begin
descripcion:=fmodulo.ZQgetDetail['description'];
cantidad:=fmodulo.ZQgetDetail['quantity'];
precio:=fmodulo.ZQgetDetail['price'];
codigo:=fmodulo.ZQgetDetail['barcode'];
codigointerno:=fmodulo.ZQgetDetail['id'] ;
descuento:=fmodulo.ZQgetDetail['discount'];
impresora.ImprimirItem(descripcion,cantidad, precio, Gravado, 21, ModoSumaMonto,
IIVariablePorcentual, 0, DisplayNo, ModoPrecioTotal, 1, codigo, codigointerno,Unidad);
if(descuento>0)then
begin
impresora.ImprimirDescuentoItem('DESC. MAYOR',descuento,DisplayNo,ModoPrecioTotal);
end;
fmodulo.ZQgetDetail.Next;
end;
respcierre:=impresora.CerrarDocumento(0,'');
fmodulo.Tsales.Active:=true;
fmodulo.Tsales.Locate('id',fmodulo.ZQgetSaleActive['id'],[]);
fmodulo.Tsales.Edit;
fmodulo.Tsales['status']:='FINALIZADA';
fmodulo.Tsales['updated_at']:=now();
fmodulo.Tsales.Post;
fmodulo.Tsales.Refresh;
fmodulo.Tsales.Close;
self.Close;
except on E: Exception do
begin
ShowMessage('Impresora Sin conexión');
ShowMessage('Error de Fiscal: ' + e.Message);
ShowMessage('Error de Fiscal (ClassName): ' + e.ClassName);
end;