Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-01-2019
softarg softarg is offline
Miembro
 
Registrado: may 2018
Posts: 16
Poder: 0
softarg Va por buen camino
Despues de crear el objeto se debe liberar

Cita:
Empezado por martinc5 Ver Mensaje
Hola mattaldi u otros, quisiera saber si pudieron comunicarse con la impresora 2° Gen y emitir tickets ??
yo por ahora pude configurar la ip a travez del wpruf y entrar por http.
Quisiera saber como creas esta clase o ya esta creada en el OCX.
HASARNG := CreateComObject(CLASS_ImpresoraFiscalRG3561) as _ImpresoraFiscalRG3561;
a mi me da error y no puedo seguir.

También he estado leyendo que hay que sacar unos reportes semanales y subirlos al AFIP, como están con esto???

Saludos
Siguiendo los consejos del foro estoy armando una app para las hasar.
en pruebas con el emulador me anduvo todo bien. Con la impresora Fisica me surge un error de windows al cerrar. Esta aplicacion ha dejado de funcionar blablabla, pero ejecuta los comandos correctamente.

Entonces pienso Despues de crear el objeto :
Código Delphi [-]

HASARNG := CreateComObject(CLASS_ImpresoraFiscalRG3561) as _ImpresoraFiscalRG3561;

Antes de cerrar la app se debe liberar? Como no tiene metodo Free o destroy!

Alguien le paso?

Gracias

Última edición por Casimiro Notevi fecha: 12-01-2019 a las 01:19:28.
Responder Con Cita
  #2  
Antiguo 28-03-2019
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Question

Cita:
Empezado por softarg Ver Mensaje
Siguiendo los consejos del foro estoy armando una app para las hasar.
en pruebas con el emulador me anduvo todo bien. Con la impresora Fisica me surge un error de windows al cerrar. Esta aplicacion ha dejado de funcionar blablabla, pero ejecuta los comandos correctamente.

Entonces pienso Despues de crear el objeto :
Código Delphi [-]

HASARNG := CreateComObject(CLASS_ImpresoraFiscalRG3561) as _ImpresoraFiscalRG3561;

Antes de cerrar la app se debe liberar? Como no tiene metodo Free o destroy!

Alguien le paso?

Gracias
Estoy teniendo el mismo problema. Conecta bien pero luego sale un error, intuyo que quiere liberar el objeto o algo así.
Por otro lado, ¿cómo hicieron para enviar cosas al Emulador? Porque conseguí mandar tickets a la Fiscal pero nunca consigo que lo haga hacia el Emulador. Me dice que hizo tres intentos y que no puede conectarse. En el mismo sentido, usando hfl_test.exe puedo enviar sin problemas cosas al Emulador.

Espero se entienda. Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #3  
Antiguo 28-03-2019
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Wink

En otro orden de cosas, tengo esta línea de comandos de prueba:
Código Delphi [-]
hsr2gPrueba:Variant;
//...
hsr2gPrueba := CreateComObject(CLASS_ImpresoraFiscalRG3561) as _ImpresoraFiscalRG3561;
//...

hsr2gPrueba.ImprimirTextoFiscal(estilo, 'Hasta agotar stock...', DisplayNo); //El error lo indica aquí

Al compilar indica lo siguiente:
[Error] Unit1.pas(62): Type not allowed in Variant Dispatch call

Si defino
Código Delphi [-]
hsr2gPrueba:ImpresoraFiscalRG3561;

La cosa no va bien, el error es: Interface not Supported.
Ocurre cuando intenta hacer el "Conectar"...

Bueno, espero puedan darme una mano en esto también.

Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #4  
Antiguo 28-03-2019
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Thumbs up

Bueno, después de tanto investigar, y penar y penar parece que le encontré la vuelta.
Paso a explicarlo.

Herramientas utilizadas:
Delphi 7
Herramientas de 2da Generación de Hasar: IFH-2G-Distribucion-180914 (Esto se lo consigue con la gente de Hasar, no se bien como porque me lo pasó el cliente dueño de la Fiscal)
Máquina fiscal: SMH250F de 2da Generación, térmica, en este caso está puesta por USB.

Lo que hay que instalar en la máquina:
El OCX de 2da Generación, yo lo tengo en :C:\HasarArgentina Es la Revisión 9, por las dudas. Hasar provee manual para hacerlo.
En Delphi 7 se instala como un ActiveX, pero no pone el componente en la Paleta, no importa.
Instalación de USB Gadget. Driver para la Fiscal. Hasar provee manual para hacerlo.
Instalación de Proxy Fiscal. Es un servicio. Hasar tiene un manual donde lo explica, pero voy a poner algo aquí.

El Proxy Fiscal:
Una vez instalado, no se inicia automáticamente. Hacemos unas cuantas modificaciones en el XML asociado. Está en el Directorio "PROXY FISCAL", de las Herramientas de Hasar. Se llama: proxyconfig.xml
Este es el mío.

Código:
<?xml version="1.0" encoding="ISO-8859-1"?>
<Config>
	<SerialPort>COM5</SerialPort>
	<BaudRate>9600</BaudRate>
	<HttpPort>5000</HttpPort>
	<DebugLevel>3</DebugLevel>
	<ServiceName>HASAR PROXY FISCAL</ServiceName>
	<ServiceDescription>Dialogando con IFH 2G</ServiceDescription>
	<AutomaticStart>si</AutomaticStart>
</Config>
El SerialPort lo sabemos cuando enganchamos por usb la Fiscal. Lo modificamos aquí.
HttpPort lo ponemos en 5000, o 6000 aparece a veces.
Guardamos e inciamos el Servicio.

Vamos al Código fuente en Delphi:

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, HasarArgentina_TLB, StdCtrls, ExtCtrls;

type
  TForm1 = class(TForm)
    btnConexion: TButton;
    mmoFiscal: TMemo;
    edtPuerto: TEdit;
    txtDestino: TLabeledEdit;
    procedure btnConexionClick(Sender: TObject);
  private
    { Private declarations }
    //Hasar2G:ImpresoraFiscalRG3561;

  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses
  ComObj;

procedure TForm1.btnConexionClick(Sender: TObject);
var
  hsr2gPrueba:ImpresoraFiscalRG3561;
  //hsr2gPrueba:Variant;
  Puerto:Integer;
  Destino:WideString;

  respabrir: RespuestaAbrirDocumento;
  estilo:AtributosDeTexto;
  respcierre:RespuestaCerrarDocumento;
begin
  hsr2gPrueba := CreateComObject(CLASS_ImpresoraFiscalRG3561) as _ImpresoraFiscalRG3561;
  Puerto:=StrToInt(edtPuerto.Text);
  Destino:=Trim(txtDestino.Text);
  try
    hsr2gPrueba.Conectar(Destino, Puerto, 15000, 15000);
    mmoFiscal.Lines.Add('Conexión exitosa');

    hsr2gPrueba.CargarCodigoBarras(CodigoTipoEAN13, '779123456789', ImprimeNumerosCodigo, ProgramaCodigo);
    mmoFiscal.Lines.Add('Código de Barras');

    hsr2gPrueba.CargarDatosCliente('Razón Social Cliente...', '99999999995', ResponsableInscripto,
      TipoCUIT, 'Domicilio Cliente...', 'Domicilio extensión 1...', 'Domicilio extensión 2...',
      'Domicilio extensión 3....');
    mmoFiscal.Lines.Add('Datos cliente');

    respabrir:= hsr2gPrueba.AbrirDocumento(PresupuestoX);
    //hsr2gPrueba.AbrirDocumento(PresupuestoX);
    mmoFiscal.Lines.Add('Abre documento');

    hsr2gPrueba.ImprimirTextoFiscal(estilo, 'Hasta agotar stock...', DisplayNo);
    mmoFiscal.Lines.Add('Imprime texto fiscal');

    hsr2gPrueba.ImprimirItem('Item a la venta...', 1, 100, Gravado, 21, ModoSumaMonto,
      IIVariablePorcentual, 0, DisplayNo, ModoPrecioTotal, 1, '779123456789', '10',Unidad);
    mmoFiscal.Lines.Add('Imprime ítem');

    hsr2gPrueba.ImprimirDescuentoItem('Oferta 10%...', 10, DisplayNo, ModoPrecioTotal);
    mmoFiscal.Lines.Add('Imprime descuento');

    respcierre:=hsr2gPrueba.CerrarDocumento(0, '');
    //hsr2gPrueba.CerrarDocumento(0, '');
    mmoFiscal.Lines.Add('Cerrar documento');
  except
    on e:Exception do
    begin
      mmoFiscal.Lines.Add('Sin conexión');
      mmoFiscal.Lines.Add('Error de Fiscal: ' + e.Message);
      mmoFiscal.Lines.Add('Error de Fiscal (ClassName): ' + e.ClassName);
    end;
  end;
  mmoFiscal.Lines.Add('Prueba terminada');
end;

end.

Como no tenemos componente para arrastrar hacia el Form, ponemos en el uses HasarArgentina_TLB.
hsr2gPrueba := CreateComObject(CLASS_ImpresoraFiscalRG3561) as _ImpresoraFiscalRG3561; Es la forma de crear el Objeto en D7

hsr2gPrueba.Conectar(Destino, Puerto, 15000, 15000); Aquí algo importante:
Destino debería ser: 127.0.0.1
Puerto: 5000 o 6000. Es el valor que pusimos en HttpPort
El primer 15000 es el TiempoEsperaConexión, contra la Fiscal claro.
El segundo 15000 es TiempoEsperaComandos, cuando enviamos a la Fiscal.

En este caso, hicimos un Presupuesto X.

Espero ayude a que podamos manejar de mejor manera estas máquinas. A mí me costó unas tardes hasta que pude hacer que funcionara. Es la idea que ayude y quede documentado para el futuro.

Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #5  
Antiguo 28-03-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.052
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Me alegro de que por fín lo lograras, te veía bastante enredado con el tema.
Por lo que cuentas, parece bastante complicado, ¿no?
Responder Con Cita
  #6  
Antiguo 28-03-2019
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Medio embarazoso.
Pienso, para mí, que lo podrían haber pensado algo mas simple.
Pero bueno, está.

Todavía no consigo hacer funcionar el Emulador, pero estoy mejor que antes. Y mas aliviado, sobre todo con mi cliente.

Gracias.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #7  
Antiguo 29-03-2019
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Lightbulb

Si cometo un pecado, que me perdonen.

El paquete que uso es este: paquete

Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
  #8  
Antiguo 29-03-2019
Avatar de santiago14
santiago14 santiago14 is offline
Miembro
 
Registrado: sep 2003
Ubicación: Cerrillos, Salta, Argentina
Posts: 583
Poder: 21
santiago14 Va por buen camino
Si alguien tiene mejor suerte que yo con el Emulador, que lo comente. Es bueno tener operativa esa herramienta para pruebas mas exhaustivas.
En una Fiscal real se pueden hacer algunas impresiones y no mucho mas.

Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Conectar con ocx Hasar 2da Generacion apuentes Varios 21 28-03-2019 23:37:39
Facturas A y B en impresora fiscal Hasar SMH/P330 santiago14 Varios 1 30-04-2013 14:14:02
Recibo X con impresora Hasar SMH/P-330 santiago14 Varios 6 23-04-2013 19:15:44
Problema Impresora Hasar USB Inge022 Impresión 6 13-05-2011 19:20:21
QuickReport & Impresora Hp Laserjet 1100 keys Impresión 3 26-12-2003 17:14:05


La franja horaria es GMT +2. Ahora son las 22:58:36.


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
Copyright 1996-2007 Club Delphi