Cita:
Empezado por mattaldi
Hola, yo instale lo instale en Delphi 5 y me muestra lo muestra en la paleta Active X "ImpresoraFiscalRG35611", pero en Delphi 10 accedo mediante código (no aparece en la paleta).
Me he conectado a la impresora, pero lo único que logré es hacer avanzar el papel. No he podido emitir ningún comprobante. Si vos lo lográs te pido que lo compartas.
Saludos
|
Hola Mattaldi.
Por alguna razon, aunque puedas importar el OCX en Delphi, tenes que trabajar creando el objeto COM. (Cosas hechas para Visual)
Yo pude poner en marcha la impresora fiscal, y mandarle algunos comandos, cierre y Z abrir ticket, vender y totalizar.
Lo que todavía no entiendo es como ver en que estado se encuentra la fiscal antes de mandarle los comandos, para evitar errores de operación.
Adjunto fragmento del programa.
Todo lo siguiente es de la unit principal.
En el
En type
Código Delphi
[-]type
ImpresoraFiscalRG35611: TImpresoraFiscalRG3561;
Antes de Implementación
Código Delphi
[-] HASAR2 : _ImpresoraFiscalRG3561;
implementation
Antes de mandar cualquier comando, hay que
CONECTAR a la impresora
Código Delphi
[-]procedure TFhas2.BconectClick(Sender: TObject);
var unaip:widestring;
unpuerto : integer;
resperr : RespuestaConsultarUltimoError;
begin
HASAR2 := CreateComObject(CLASS_ImpresoraFiscalRG3561) as _ImpresoraFiscalRG3561;
try
unaip:= DBedit1.text; unpuerto:= strtoint(DBedit2.text);
HASAR2.Conectar(unaip,unpuerto,5000,5000);
HASAR2.ArchivoRegistro('C:\Supermercados\Hasar.LOG',15000);
except
resperr := HASAR2.ConsultarUltimoError;
Showmessage(
'ID error = ' + resperr.UltimoError + chr(13) +
'Parámetro = ' + resperr.NombreParametro + chr(13) +
'Mensaje = ' + resperr.Descripcion + chr(13) +
'Contexto = ' + resperr.Contexto );
Ejemplo apertura de ticket
Código Delphi
[-]procedure TFhas2.BticketClick(Sender: TObject); var resperr : RespuestaConsultarUltimoError;
begin
try
Hasar2.AbrirDocumento(Tique);
HASAR2.ArchivoRegistro('C:\Supermercados\Hasar.LOG',15000);
except
resperr := HASAR2.ConsultarUltimoError;
Showmessage(
'ID error = ' + resperr.UltimoError + chr(13) +
'Parámetro = ' + resperr.NombreParametro + chr(13) +
'Mensaje = ' + resperr.Descripcion + chr(13) +
'Contexto = ' + resperr.Contexto );
Vender un producto
Código Delphi
[-]procedure TFhas2.BvenderItemClick(Sender: TObject);
var
nombreit, imint, CODIGOf ,IDARTI: widestring;
Cantidad, precio, iva: real;
resperr : RespuestaConsultarUltimoError;
begin
nombreit := TitemsDESCRIPCION.Value;
cantidad := TitemsCANTIDAD.Value;
precio := TitemsPRECIO.Value;
iva := TitemsALICUOTA.value;
imint := '0';
CODIGOf := TitemsBARCODE.Value;
IDARTI := TitemsIDART.Value;
try
Hasar2.ImprimirItem(nombreit, cantidad, precio, Gravado, iva, ModoSumaMonto, IIVariablePorcentual, 0.00000001, DisplayNo, ModoPrecioTotal, 1, CODIGOf , IDARTI , Unidad);
HASAR2.ArchivoRegistro('C:\Supermercados\Hasar.LOG',15000);
Pago con monto exacto
Código Delphi
[-]procedure TFhas2.BpagaClick(Sender: TObject);
var resperr : RespuestaConsultarUltimoError;
begin
try
Hasar2.CerrarDocumento(1, '');
HASAR2.ArchivoRegistro('C:\Supermercados\Hasar.LOG',15000);
Except
Bueno espero que les sirva, yo lo tengo en un cliente, con la HASAR SMH/PT-1000F y anda bien.
Saludos Softarg