Recuperar datos de inicializacion. (ej. Pto de venta)

113 views
Skip to first unread message

RomanV

unread,
May 4, 2016, 6:08:36 PM5/4/16
to PyFiscalPrinter
Hola,

Alguien sabe como se pueden recuperar estos datos (razón social, cuit, pto de venta, etc) de la impresora ?

Gracias
R.



Hernán Valdez

unread,
May 4, 2016, 9:44:43 PM5/4/16
to pyfisca...@googlegroups.com
Buenas, primero, que impresora es? En los manuales tendría que aparecer. En la Hasar 441 no conozco ningún comando para obtenerlos pero si para setearlos, que son los que usa el técnico responsable del fiscal. Por curiosidad, para que quieres obtenerlos?

--

---
Has recibido este mensaje porque estás suscrito al grupo "PyFiscalPrinter" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyfiscalprint...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Roman Varas

unread,
May 5, 2016, 12:38:24 AM5/5/16
to pyfisca...@googlegroups.com

Quiero guardar en la base de datos los detalles de facturación.  Supongo que el punto de venta o la razón social se podrían ingresar manualmente. Pero si se puede automatizar, mejor.

PD. La impresora es hasar 420.

Daniel

unread,
May 5, 2016, 7:00:40 AM5/5/16
to pyfisca...@googlegroups.com
No se precisamente en esa impresora, pero estoy seguro de que se puede (como programador, no como técnico) haciendo un getstatus debe informar por lo menos 3 cosas, Información del comprobante en curso, Información de la impresora (que figura el punto de venta y demás), y los contadores.
Daniel Malisani

RomanV

unread,
May 5, 2016, 3:55:07 PM5/5/16
to PyFiscalPrinter
Perdon, se me escapo un "4" cuando tipee el modelo de la impre. Es Hasar 320.

De cualquier manera... el comando 'getstatus' esta disponible en pyfiscalprinter ?

Desde ya muchas gracias....

RomanV

unread,
May 5, 2016, 4:19:05 PM5/5/16
to PyFiscalPrinter
El comando CMD_STATUS_REQUEST devuelve los datos de los doc fiscales... ( emitidos... cancelados... ultimo doc "a"... etc)
Pero no me pasa los datos de inicializacion (Datos del comercio, domicilio, datos controlador fiscal, etc) que es lo que yo queria... 

RomanV

unread,
Aug 30, 2016, 6:07:12 PM8/30/16
to PyFiscalPrinter
Aunque paso mucho tiempo, posteo la respuesta por si a alguien le importa... el comando es GetInitData. No estaba implementado en HasarPrinter, asi que lo tuve que agregar

CMD_GETINITDATA = 0x73

    def getInitialData(self):
reply = self._sendCommand(self.CMD_GETINITDATA)
return reply

En fin, eso... 
Saludos

Ezequiel Oyarzabal

unread,
Sep 20, 2016, 4:38:31 PM9/20/16
to PyFiscalPrinter
Hola,

Muy buen aporte, pero sabés que hice el intento, y no lo pude hacer andar.

Me dice algo asi como que no existe GetInitData cuando lo llamo.

Hay que inicializar algo o como sería el tema?

Saludos

RomanV

unread,
Sep 20, 2016, 7:09:48 PM9/20/16
to PyFiscalPrinter
Que error te tira ?

Asegurate que no haya un problema de sangria (indentation) en el codigo python....

Ezequiel Oyarzabal

unread,
Sep 21, 2016, 7:45:50 AM9/21/16
to PyFiscalPrinter
Si, primero me tiró esos problemas de indentación y lo corregí.
Luego ya con eso listo, me tiraba el error como que la clase no tiene ese comando disponible.
Por eso preguntaba si hay que "resetear" el archivo luego de cambiar sus valores o inicializarla.

Roman Varas

unread,
Sep 21, 2016, 11:51:02 AM9/21/16
to pyfisca...@googlegroups.com

El método lo definiste? Cómo lo llamas? Que error te tira?
Saludos


--

---
Has recibido este mensaje porque estás suscrito al grupo "PyFiscalPrinter" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyfiscalprinter+unsubscribe@googlegroups.com.

Ezequiel Oyarzabal

unread,
Sep 22, 2016, 8:00:37 AM9/22/16
to PyFiscalPrinter
Disculpame RomanV

Fue mala mía, porque le ponía getInitData siendo que estaba definida como getInitialData ya que copié el código tuyo.

Por suerte ya funciona ok y me dice los datos correctos.

Lo que estuve viendo es que en Epson no funciona y buscando por todos lados no encuentro la analogía a CMD_GETINITDATA = 0x73 de Hasar como lo hiciste vos.

Seguiré buscando y si encuentro info la dejo en este hilo.

Saludos
Para anular la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyfiscalprint...@googlegroups.com.

Ezequiel Oyarzabal

unread,
Sep 22, 2016, 9:09:53 AM9/22/16
to PyFiscalPrinter
Bueno, creo que lo encontré y aqui lo posteo

En realidad en Epson parece que ya está el tema implementado por lo que usé el que ya esta implementado CMD_STATUS_REQUEST y usé la definición:

    def getInitialData(self):
        reply
= self._sendCommand(self.CMD_STATUS_REQUEST,["C"], True)
       
return reply

Saludos

Miguel Angel Giuffrida

unread,
Jan 10, 2017, 11:47:48 AM1/10/17
to PyFiscalPrinter
Hola que tal. Estuve leyendo todo lo escrito, yo busco algo parecido. Solo necesito el punto de venta para agregarlo a la factura y grabarlo en la base de datos. Tengo el archivo test.py de pyfiscalprinter que me imprime el ticket perfectamente pero no tengo idea de como implementar el poder almacenar el punto de venta en una variable. Perdon por mi ignorancia.


El miércoles, 4 de mayo de 2016, 19:08:36 (UTC-3), RomanV escribió:

RomanV

unread,
Jan 11, 2017, 12:49:13 PM1/11/17
to PyFiscalPrinter
Hola Miguel, 

La respuesta a esta cuestion estaba mas arriba en este mismo hilo.... te la pego aca...

Aunque paso mucho tiempo, posteo la respuesta por si a alguien le importa... el comando es GetInitData. No estaba implementado en HasarPrinter, asi que lo tuve que agregar

CMD_GETINITDATA = 0x73

    def getInitialData(self):
reply = self._sendCommand(self.CMD_GETINITDATA)
return reply

Es decir tenes que modificar un toque el codigo en python, porque el comando no estaba implementado. Si mal no recuerdo, en HasarPrinter.py, en la clase HasarPrinter tenes que agregar la definicion del comando (CMD_GETINITDATA = 0x73) y despues definir el metodo...

    def getInitialData(self):
reply = self._sendCommand(self.CMD_GETINITDATA)
return reply

Asi lo hice yo y me funciono.... 
Saludos

Miguel Angel Giuffrida

unread,
Jan 11, 2017, 2:17:09 PM1/11/17
to PyFiscalPrinter
Roman. Ante todo mil gracias por la respuesta.

Yo uso el Driver Para Epson.
Y uso el test.py para hacer el ticket. Yo soy muy verde.... pero una vez armado en el driver. Como llamo a la funcion o al metodo desde python para guardar en una variable por lo menos el Punto de Ventas.

Gracias por la paciencia

Roman Varas

unread,
Jan 11, 2017, 2:50:21 PM1/11/17
to pyfisca...@googlegroups.com
Te respondo sin mucha certeza. Supongo, por lo que posteo Ezequiel mas arriba, que deberias definir getInitialData en Epsonfiscal.py

def getInitialData(self):
        reply 
= self._sendCommand(self.CMD_STATUS_REQUEST,["C"], True)
        
return reply


y despues llamarla asi :

printer.getinitialData



--

---
Has recibido este mensaje porque estás suscrito al grupo "PyFiscalPrinter" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyfiscalprinter+unsubscribe@googlegroups.com.

Miguel Angel Giuffrida

unread,
Jan 11, 2017, 3:06:21 PM1/11/17
to PyFiscalPrinter
Gracias Roman. Probe lo que me dijiste aparentemente me falta pasarle algun parametro porque me da error en la funcion y me dice esto

AttributeError: EpsonPrinter instance has no attribute 'getinitialData'
Que podra ser?!
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyfiscalprint...@googlegroups.com.

Miguel Angel Giuffrida

unread,
Jan 11, 2017, 3:14:32 PM1/11/17
to PyFiscalPrinter
PERFECTO ROMAN!!!! Ya pude traer los datos... era erro de como llamaba a la funcion

La ultima!! lo que viene parece ser un array.... como sacas el punto de venta... siempre ocupa esa posicion en el array? como para llamarlo....

GRACIAS!!!


El miércoles, 11 de enero de 2017, 16:50:21 (UTC-3), RomanV escribió:
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a pyfiscalprint...@googlegroups.com.

Hernán

unread,
Jan 11, 2017, 3:42:18 PM1/11/17
to PyFiscalPrinter
La función se llama así:

lista = printer.getinitialData()

Y tendrías que fijarte en el manual de la impresora para ver que es cada campo. No se altera nunca el orden.
Cuando sepas la posición del campo "Punto de venta" la almacenas en una variable de esta manera:

punto_venta = lista[2]  # suponiendo que esta en el campo número 3


Miguel Angel Giuffrida

unread,
Jan 12, 2017, 11:12:24 AM1/12/17
to PyFiscalPrinter
Hernan. Gracias!! Hice exactamente eso.
Funciono perfectamente. Gracias por todo.
Reply all
Reply to author
Forward
0 new messages