Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Impresora Fiscal (https://www.clubdelphi.com/foros/showthread.php?t=28086)

wgandalf 08-12-2005 16:29:15

Impresora Fiscal
 
Hola, estoy trabajando con una impresora fiscal (Hasar 320F) necesitaria que me orientación como manipular la impresora, como enviar la información a imprimir. como es el metodo. si es como una impresora normal si tengo que mandar todo la información (información y coordenada para la hoja)

desde ya muchas gracias.

Casimiro Notevi 08-12-2005 21:28:08

Una búsqueda por los foros nunca viene mal

brandolin 13-12-2005 02:11:12

La impresora fiscal maneja un protocolo de comunicaciones que hay que mandar por medio del puerto serial del CPU para que el Controlador Fiscal haga una accion y devuelva una respuesta.
Existen componentes (OCX) que hacen esto por vos. Deberias buscarlos en la pagina de Hasar (www.hasar.com.ar). Creo que para tener ese componente debes ser una empresa reguistrada en Hasar ya que con dicho componente tenes acceso a la memoria fiscal y al protocolo de comunicaicones.

Avisame si necesitas algo.

pipecato 13-12-2005 02:22:34

hola
 
programe la impresora fiscal IBM TF6y baje componente para manejar el puerto rs232. he enviaba la informacion y la recibia .

no se si te sirve mucoo , te doy una idea

ptt 13-12-2005 05:27:13

En esta página podes encontrar el OCX y el manual para enviar los comandos a la impresora.

fabianbbg 11-01-2006 14:09:26

hola.. me "engancho" en este hilo para preguntar:
wgandalf : has podido imprimir documentos fiscales con la impresora? Te cuento a que viene mi pregunta: yo estoy mandando a imprimir en la hasar 715 F .
No puedo hacer que imprima Facturas A, y queria saber si era porque no estaba inicializada o porque le estoy mandando mal los datos.
Espero podamos compartir "experiencias fiscales"
Saludos..
Fabián

brandolin 11-01-2006 15:10:14

Hola, eso de "experiencias fiscales" espero que sean mejor que las mias.

Respondiendo a tu pregunta, los CF son operativos 100% cuando estan en "modo entrenamiento" (sin inicializar) por lo que debe imprimir las facturas si o si. Debes estar mandando mal algun dato. Para que te podamos ayudar deberias darnos mas datos, que le estas mandando, que utilizas RS232 u OCX, etc, etc

fabianbbg 11-01-2006 16:31:59

Antes que nada gracias brandolin por la pronta respuesta
 
Trabajo con la OCX de hasar, ni siquiera pudimos sacar un ticket factura A de prueba..
te pego el codigo.. y contame que te parece

Código:

 
  HASAR1.DatosCliente('MAIER RENE', '20058013421', TIPO_CUIT,RESPONSABLE_INSCRIPTO);
 
  HASAR1.AbrirComprobanteFiscal( TICKET_FACTURA_A);

  HASAR1.PrecioBase:=false;

  HASAR1.ImprimirItem('Nombre del producto',1,10,21,1);

  hasar1.Subtotal(false);

  HASAR1.ImprimirPago('Efectivo',10);

  hasar1.CerrarComprobanteFiscal;

Hasar1 es el componente de hasar que bajamos de la web

Te agradeceria que me muestres un ejemplito valido.

brandolin 12-01-2006 00:41:56

Creo que la cosa podria ser mejor asi...

Código:

  HASAR1.DatosCliente('MAIER RENE', '20058013421', TIPO_CUIT,RESPONSABLE_INSCRIPTO, 'Direccion');
  Hasar1.Puerto = 1;
  Hasar1.Comenzar;
  Hasar1.TratardeCancelarTodo;
  HASAR1.AbrirComprobanteFiscal( TICKET_FACTURA_A );

  HASAR1.PrecioBase:=false;

  HASAR1.ImprimirItem('Nombre del producto', 1, 10.00, 21.00,0); //impuesto interno si no tiene debe ser cero. Sino ver Formula K

  hasar1.Subtotal(false);

  HASAR1.ImprimirPago('Efectivo',10.00);

  hasar1.CerrarComprobanteFiscal;
  haser1.finalizar;

Creo que con esto deberia funcionar. Avisame cualquier cosa.

ptt 12-01-2006 18:40:31

Sería bueno saber cual es el error y en que momento se produce. Con los datos que das no se puede saber si es un problema de comunicación, de estado de la impresora, de los datos que envías, etc.

fabianbbg 13-01-2006 23:01:09

Hola.. MUCHAS GRACIAS brandolin.. te cuento:
La semana que viene me pasan la impre fiscal de nuevo.. asi que voy a poder probarla recien ahi, te mantengo al tanto de lo que pase.

Hola PTT:
Lo que hacia la impresora.. es simplemente no imprimir.. y arrojaba error fiscal, que es el resultado (boolean) de la funcion :huboerrorfiscal

Bueno.. les mantengo al tanto de la situación.. les pido sigan siendo tan amables
gracias de nuevo.. fabián

fabianbbg 18-01-2006 19:30:52

Probé tal cual.. pero no anduvo :-(
 
Estimado BRANDOLIN:

No funcionó! .. lo que hice fue copiar tu codigo tal cual en un form con un botón, pero me tira un error que dice :
"error no espedificado" en un dialogo..


Cita:

Empezado por brandolin
Creo que la cosa podria ser mejor asi...

Código:

  HASAR1.DatosCliente('MAIER RENE', '20058013421', TIPO_CUIT,RESPONSABLE_INSCRIPTO, 'Direccion');
  Hasar1.Puerto = 1;
  Hasar1.Comenzar;
  Hasar1.TratardeCancelarTodo;
  HASAR1.AbrirComprobanteFiscal( TICKET_FACTURA_A );

  HASAR1.PrecioBase:=false;

  HASAR1.ImprimirItem('Nombre del producto', 1, 10.00, 21.00,0); //impuesto interno si no tiene debe ser cero. Sino ver Formula K

  hasar1.Subtotal(false);

  HASAR1.ImprimirPago('Efectivo',10.00);

  hasar1.CerrarComprobanteFiscal;
  haser1.finalizar;

Creo que con esto deberia funcionar. Avisame cualquier cosa.

Esto me esta preocupando.. si vos decis que tiene que andar y no anda.. no será que la impresora tiene algun problema?

tal vez deberia llevarla a donde la compraron para que la revisen ..
En fin.. queria que sepas como me fue..
Una abrazo
PD: otra cosa que me parece raro: en los tickets B no salen los datos del comprador... solo consumidor final.. ¿alguna sugerencia?

GRACIAS POR TODO

brandolin 18-01-2006 19:43:25

Pregunto... ¿hasta donde avanza el programa? Deberias ir paso a pasa para ver en que linea salta el error. Es posible que este trabado el CF por varios temas, podes revisar...
1) Saca Z. Recorda que se debe hacer cada 24 hs sino no te dejara emitir nada.
2) Que no tengas ticket abiertos.
3) Revisa que tengas el OCX correcto para la version de p715, hay varios OCX dando vuelta y no todos soportan todas las impresoras.
4) Deberias controlar las respuestas fiscales para cada linea. Recorda que para cada comando hay una respuesta del estado fiscal y el estado del printer esto lo debes analizar para ver si seguis con el programa o tomas alguna medida al respecto.

PD 1: Igual particularmente no uso los OCX, no confio en ellos ya que dan muchos errores inexplicables, para mis programas desarrolle mi Dll para la comunicacion y soy yo el que toco el protocolo directamente en el RS232.

PD 2: Para las facturas B tambien debes mandar los datos del cliente, obviamente con los parametros correctos sino te rechaza el comando de "EnviarCliente" y no se cargan los datos.

ptt 18-01-2006 20:20:19

Lo primero que te recomiendo es que revises el manual que viene con el OCX de Hasar, si no lo tenes bajalo de la página

Es importante leer también el manual del protocolo, te va a aclarar que hace cada comando y que condiciones se tienen que cumplir para que no se produzca un error, ademá de darte información sobre la forma de trabajo del controlador fiscal .


Cita:

Empezado por fabianbbg
Estimado BRANDOLIN:

No funcionó! .. lo que hice fue copiar tu codigo tal cual en un form con un botón, pero me tira un error que dice :
"error no espedificado" en un dialogo..

Ejecutar el programa paso a paso, viendo los mensajes podes saber en que momento da el error. No es lo mismo un error de configuración que uno de apertura de comprobante.


Cita:

Empezado por fabianbbg
Estimado BRANDOLIN:
Esto me esta preocupando.. si vos decis que tiene que andar y no anda.. no será que la impresora tiene algun problema?
tal vez deberia llevarla a donde la compraron para que la revisen ..

Sin conocer el error no es posible saberlo.


Cita:

Empezado por fabianbbg
Estimado BRANDOLIN:
PD: otra cosa que me parece raro: en los tickets B no salen los datos del comprador... solo consumidor final.. ¿alguna sugerencia?

esto es parte de lo que tenes que aprender leyendo el manual del protocolo: si el tipo de comprobante es Ticket se supone que es a Consumidor Final y no lleva mas datos que los que imprime. Distinto es el caso de los Tique Factura A o B

PD.:
Revisa si funciona hacer un Cierre Z , si lo hace la impresora esta en buen estado.
Si lo que no sale es el Tique Factura A y el resto si, revisa si tiene puesta la dirección del vendedor en el encabezado.

Cita:

Empezado por fabianbbg
Estimado BRANDOLIN:
hola.. me "engancho" en este hilo para preguntar:

PD2.: cuando tengas una pregunta creá un hilo nuevo, no continúes uno existente porque no aparece como nuevo al entrar al foro y es mas dificil que alguien vea tu pregunta, solo nos llega el aviso a los que contestamos alguna vez en este hilo.

fabianbbg 23-01-2006 21:08:49

Si si si Anduvo che
 
Estimado Brandolin:
He podido solucionar mi problema y aqui te pego el codigo

Código Delphi [-]
function Imprimir_fiscal(sender:Tfmenu):Boolean;
var
     nom,dni,cuit,fs,comando:WideString;
     tipodoc,tipoiva:TOleEnum;
     Descuento,TOTAL:currency;
begin
     WITH SENDER do
     begin

          HASAR1.TratarDeCancelarTodo;
          fs:=#28;
          nom:=uppercase(trim(SP_VentaConsulcliente.AsString));
          nom:=ansireplacestr(nom,'Ñ','N');
          dni:=trim(SP_VentaConsuldni.AsString);
          cuit:=AnsiReplaceStr(TRIM(SP_VentaConsulcuit.AsString),'-','');

          if (lowercase(trim(SP_VentaConsulTipoForma.AsString))='a') then
          begin
               tipoiva:=RESPONSABLE_INSCRIPTO;
               if (lowercase(trim(SP_VentaConsulsit_impositiva.AsString))='inscripto') then
                    tipoiva:=RESPONSABLE_INSCRIPTO
               else
               if (lowercase(trim(SP_VentaConsulsit_impositiva.AsString))='exento') then
                    tipoiva:=RESPONSABLE_EXENTO;

               comando := #98 + FS + 'Cliente: '+ nom + FS + cuit + FS + 'I' + FS + 'C' + FS + 'Domicilio...';
               HASAR1.Enviar(comando);
               HASAR1.AbrirComprobanteFiscal(TICKET_FACTURA_A);
               hasar1.PrecioBase:=TRUE;
          end

          SP_DetalleVtas_Consul.First;
          TOTAL:=0;
          while not SP_DetalleVtas_Consul.Eof do
          begin
               hasar1.ImprimirItem(SP_DetalleVtas_Consulconcepto.AsString,
               SP_DetalleVtas_Consulpre_unitario.AsFloat,
               SP_DetalleVtas_Consulcant.AsFloat,
               SP_DetalleVtas_Consulporciva.AsFloat,0);
               TOTAL:=total+SP_DetalleVtas_Consulmonto.AsCurrency ;
               SP_DetalleVtas_Consul.Next;
          end;

          descuento:=0;
          if SP_VentaConsuldescuento.AsCurrency>0 then
          begin
               descuento:=(SP_VentaConsuldescuento.AsCurrency*total)/100;
               descuento:=roundto(descuento,-2);
               HASAR1.DescuentoGeneral( 'DESCUENTO',descuento,TRUE); /// TERCER PARAMETRO IDENTIFICA SI ES DESCUENTO O RECARGO TRUE:DESCUENTO FALSE:RECARGO;
          end;

          if SP_VentaConsulmontocontado.AsCurrency>0 then
               HASAR1.ImprimirPago('EFECTIVO',strtocurr(formatfloat('#.00',SP_VentaConsulmontocontado.AsCurrency)))  ;

          hasar1.CerrarComprobanteFiscal;
          result:=hasar1.HuboErrorFiscal; 

     end;

end;

Lo que dice SP es un Store procedure , por los nombres de los campos, esta bastante claro..

Aqui te pegue el codigo para los ticket factura A, usando la ocx provista por hasar.

Muchas gracias por ayudarme, espero alguna vez devolverte el favor..
Saludos..

Fabián

Carlos Lesca 25-10-2007 03:28:55

Cita:

Empezado por ptt (Mensaje 126551)
Lo primero que te recomiendo es que revises el manual que viene con el OCX de Hasar, si no lo tenes bajalo de la página

Es importante leer también el manual del protocolo, te va a aclarar que hace cada comando y que condiciones se tienen que cumplir para que no se produzca un error, ademá de darte información sobre la forma de trabajo del controlador fiscal .




Ejecutar el programa paso a paso, viendo los mensajes podes saber en que momento da el error. No es lo mismo un error de configuración que uno de apertura de comprobante.




Sin conocer el error no es posible saberlo.




esto es parte de lo que tenes que aprender leyendo el manual del protocolo: si el tipo de comprobante es Ticket se supone que es a Consumidor Final y no lleva mas datos que los que imprime. Distinto es el caso de los Tique Factura A o B

PD.:
Revisa si funciona hacer un Cierre Z , si lo hace la impresora esta en buen estado.
Si lo que no sale es el Tique Factura A y el resto si, revisa si tiene puesta la dirección del vendedor en el encabezado.



PD2.: cuando tengas una pregunta creá un hilo nuevo, no continúes uno existente porque no aparece como nuevo al entrar al foro y es mas dificil que alguien vea tu pregunta, solo nos llega el aviso a los que contestamos alguna vez en este hilo.

Disculpame, algo para la Epson no tenes??? porque me estoy volviendo loco con la funcion OpenInvoice que me devuleve un error.

Saludos y gracias.

fabianbbg 25-10-2007 12:51:58

Impresoras Fiscales Epson lx 300 F
 
Hola Carlos:

Cita:

Empezado por Carlos Lesca (Mensaje 240956)
Disculpame, algo para la Epson no tenes??? porque me estoy volviendo loco con la funcion OpenInvoice que me devuleve un error.

Por ahi Seria mejor que inicies un hilo nuevo, porque veniamos con las Hasar y ahora se plantea el tema Epson. (Ademas no queremos que nadie se enoje)

Pero como la idea es ver si nos ayudamos te pregunto:
*¿Que modelo de Epson es?
Porque yo habia hecho algo para las Epson Lx 300 F . Las cuales tienen un OCX y creo que podria ayudarte.

*La funcion OpenInvoice tiene muchos parametros, vos decis que te da un error. ¿Que error te da?

Te dejo un saludo fiscal sin iva

hasta la proxima

Carlos Lesca 25-10-2007 19:47:38

Cita:

Empezado por fabianbbg (Mensaje 241020)
Hola Carlos:



Por ahi Seria mejor que inicies un hilo nuevo, porque veniamos con las Hasar y ahora se plantea el tema Epson. (Ademas no queremos que nadie se enoje)

Pero como la idea es ver si nos ayudamos te pregunto:
*¿Que modelo de Epson es?
Porque yo habia hecho algo para las Epson Lx 300 F . Las cuales tienen un OCX y creo que podria ayudarte.

*La funcion OpenInvoice tiene muchos parametros, vos decis que te da un error. ¿Que error te da?

Te dejo un saludo fiscal sin iva

hasta la proxima


Ok Armo un nuevo hilo.

ledesmarc 26-06-2008 13:23:54

Ocx??
 
Fabian he visto tu ejemplo para la impresora fiscal, yo estoy programando para una Hasar 715f tambien, baje el ocx de la pagina de HASAR pero al pegar el objeto 'DRIVERFISCAL1' no tengo las mismas funciones que vos usas sino que las mismas estan todas en ingles por eso queria por favor si me podes pasar la OCX que estas usando...

Muchas Gracias!!!

Marcos

fabianbbg 26-06-2008 15:29:12

si .. no problem.. a que correo?
Saludos


La franja horaria es GMT +2. Ahora son las 02:01:39.

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