Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Impresora hasar f250 2ge (https://www.clubdelphi.com/foros/showthread.php?t=94991)

jose.ignacio.ve 15-12-2020 18:59:53

Impresora hasar f250 2ge
 
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);
        //impresora.ImprimirItem('Item a la venta...', 1, 100, Gravado, 21, ModoSumaMonto,
        // IIVariablePorcentual, 0, DisplayNo, ModoPrecioTotal, 1, '779123456789', '10',Unidad);
         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;

mRoman 15-12-2020 21:59:28

Cita:

Empezado por jose.ignacio.ve (Mensaje 539461)
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);
        //impresora.ImprimirItem('Item a la venta...', 1, 100, Gravado, 21, ModoSumaMonto,
        // IIVariablePorcentual, 0, DisplayNo, ModoPrecioTotal, 1, '779123456789', '10',Unidad);
         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;

Veo q conectas la impresora por medio de un IP, tengo duda si los documentos enviados, estando apagada la impresora, los deje en la cola...no recuerdo bien si esto es posible. Me ha pasado con impresoras de matriz (conectadas localmente a la PC), que están imprimiendo y por alguna razón -papel atorado por ejemplo- tengo que apagarla y al encenderla sigue imprimiendo...desde el principio o donde se quedó, ya no recuerdo....pero asi como dices tu, creo q no.

Porque motivo la impresora no estaría en servicio?

jose.ignacio.ve 16-12-2020 15:47:05

Hola.. Es justo lo que quiero hacer, dejar archivos en cola.. osea hacer un servicio o algo similar para que cuando la impresora se conecte de nuevo empiece a imprimir.. pero no tengo ni idea como hacer aun..


La franja horaria es GMT +2. Ahora son las 02:07:12.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi