Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problemas con la instalación de HASARARGENTINA.OCX (https://www.clubdelphi.com/foros/showthread.php?t=91515)

SergioMM 22-02-2017 23:50:58

Problemas con la instalación de HASARARGENTINA.OCX
 
Gente, buenas tardes. Quería consultarles acerca de la instalación del ocx "HasarArgentina.ocx".
Les comento que lo instalé en Delphi 6 y no me aparece el componente en la paleta de ActiveX. Puedo acceder al componente por código, pero tengo dudas de que haya quedado bien instalado.
Si alguno puede darme una mano, se lo agradecería.

Saludos
Sergio.

AgustinOrtu 23-02-2017 03:27:51

Bienvenido SergioMM al Club Delphi

No podras compartir (o donde puedo descargar) el ocx que comentas para probarlo?

Como lo estas instalando?

Neftali [Germán.Estévez] 23-02-2017 08:24:58

¿Lo has registrado? (regsvr32)
A veces no basta con copiar el fichero.

SergioMM 23-02-2017 13:27:18

Lo he descargado de la página de Hasar. El Ocx, corresponde a la segunda generación de impresoras fiscales. Les comento que lo registré con regsvr32 y luego lo importé desde menú component/import ActivX Control.

AgustinOrtu 23-02-2017 15:43:38

Nos podes dejar un link para descargarlo?

Yo solo encontre esto: http://grupohasar.com/index.php/product/ocx-hasar/

Pero no logro dar con la descarga de ningun ocx. Solo hay un pdf para descargar y una demo que se solicita con un formulario

mattaldi 27-02-2017 21:24:00

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

softarg 12-02-2019 14:46:59

HASARArgentina.OCX
 
Cita:

Empezado por mattaldi (Mensaje 513777)
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
Código Delphi [-]
uses
  HasarArgentina_TLB


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;
   // RespEstado : RespuestaConsultarEstado;
begin

HASAR2 := CreateComObject(CLASS_ImpresoraFiscalRG3561) as _ImpresoraFiscalRG3561;

//Aca se crea el objeto

//RespEstado:= hasar2.ConsultarEstado;

try
     unaip:= DBedit1.text;   //Tabla que guarda la IP de la fiscal
     unpuerto:= strtoint(DBedit2.text);  //Tabla que guarda el puerto de la fiscal

     HASAR2.Conectar(unaip,unpuerto,5000,5000);  //Conectar se debe mandar al iniciar la aplicación 

     HASAR2.ArchivoRegistro('C:\Supermercados\Hasar.LOG',15000);  //graba un log

except


resperr := HASAR2.ConsultarUltimoError;  // Captura si hubo error de conexión.

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);  /// BticketClick = BitBtn
 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

Casimiro Notevi 12-02-2019 19:38:08

^\||/^\||/^\||/

mattaldi 12-02-2019 21:47:33

Gracias por tu respuesta softarg. Ya lo pude implementar.
Por casualidad tenes experiencia con alguna Hasar 441??? Lo tengo funcionando, pero no logro que funcionen las Notas de Crédito.
Saludos

softarg 14-02-2019 13:44:50

Cita:

Empezado por mattaldi (Mensaje 530645)
Gracias por tu respuesta softarg. Ya lo pude implementar.
Por casualidad tenes experiencia con alguna Hasar 441??? Lo tengo funcionando, pero no logro que funcionen las Notas de Crédito.
Saludos


Hola Mattaldi.

Si sabes como capturar el estado de la impresora, antes de mandarle los comandos te agradeceria. Basicamente para evitar errores del cajero.

respondiendo a tu consulta, te paso el codigo que uso para las 441 / 715F

Código Delphi [-]
Var 
FS :Char;
Cadena, referencia, Texto_descriptivo: string;
Total, IVA: real;

  begin

FS:=chr(28); //Separador de campos


form1.HASAR1.Puerto:= 1; //Puerto COM 

form1.Hasar1.Modelo := 32; //9 = 715 ***  32 = 441F

form1.Hasar1.Comenzar ;

form1.Hasar1.TratarDeCancelarTodo;


//Para estos modelos de impresora, los comandos del OCX no funcionan en muchos casos hay que mandar el comando crudo.
//Uno de los problemas es que no acepta los datos del cliente y se mandan antes de abrir el DNFH
//En el ejemplo faltan algunas variables que tendras que completar con los datos correspondientes.


Cadena := 'b' +FS+ nom_cliente +FS+ cuit_cliente +FS+ 'I' +FS+ 'C' +FS+ Domicilio;


form1.Hasar1.Enviar(Cadena);


referencia:= '1234';// Numero de la factura que origina la nota;

Texto_descriptivo:= 'ERROR de FACTURACION';

Total:= 100; //Importe de la nota de credito

IVA:= 21; // El IVA que corresponda

form1.Hasar1.documentoDeReferencia[1]:= referencia;

form1.Hasar1.AbrirDNFH(52); //53 = (Ticket Nota_credito_BC).52 = (Ticket Nota_credito_A)

form1.HASAR1.ImprimirItem(Texto_descriptivo,1,Total,IVA,0);

form1.Hasar1.CerrarDNFH ;

Saludos

mattaldi 21-02-2019 21:43:52

Hola softarg.
No te imaginas cuanto te agradezco tu ayuda. Hace del año pasado que estoy con esto y no encontraba solución. Hay otro código que utilizaba el comando enviar en el foro que no me funcionaba.

Y ya que estoy te vuelvo a molestar. También estoy con problemas para reimprimir un ticket, para el caso que haya algún problema de papel u otra dificultad.
Utilizo éste código:

Código:

  Hasar1.Modelo:= MODELO_P441;
  Hasar1.Puerto := 3;
  Hasar1.Baudios:= 9600;
  Hasar1.Comenzar;
  Hasar1.TratarDeCancelarTodo();
  Hasar1.ReimprimirComprobante();
  Hasar1.Finalizar;

Peor no me está funcionando. Lo tenes hecho???
Saludos
Daniel


La franja horaria es GMT +2. Ahora son las 17:57:10.

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