Code Monkey home page Code Monkey logo

Comments (29)

joseluisbossio avatar joseluisbossio commented on May 27, 2024 1

Buenas, al final ¿que paso con la TM-T900FA? tengo que migrar de TM-U220AF a una de 2da generación en EPSON, pero no quiero ir a un camino sin salida. :)

from fiscalberry.

alevilar avatar alevilar commented on May 27, 2024

Creo que la mayoria de los comandos te deberian funcionar bien. Pero quizas para este modelo tengas que agregar un par de IF´s (aunque lo dudo), el unico archivo que deberias tocar es el Comandos/EpsonComandos.py ahi tenes toda la lógica de cada modelo distinto para la marca de impresoras fiscales EPSON.

Te recomiendo comenzar con un comando simple, como por ejemplo enviar un dailyClose "X" (no el Zeta, dado que el X no es fiscal, mientras que el Zeta si lo es)

Yo no tengo esa impresora como para hacer pruebas, pero te puedo ayudar, andá describiendo acá los errores con los que te vas chocando y trataré ayudarte lo mas pronto que pueda.

from fiscalberry.

pwqw avatar pwqw commented on May 27, 2024

Ejecuté dailyClose, junto con otros..

Esto se ve en el navegador screenshot.

Y la consola del navegador:

START INICIANDO
No hay conexion con el Web Socket promise ERROR
***Connection Closed***
 reconectando en 3 segundos 
CLOSE
START INICIANDO
***Connection Opened***
OPEN CONECTADO
Sending Message: {"getAvaliablePrinters":""}
Vino algo del websocket %o
vino la respuesta %o
getAvaliablePrinters : IMPRESORA_FISCAL
Vino RTA DE  getAvaliablePrinters: %o
Sending Message: {"getStatus":{},"printerName":"IMPRESORA_FISCAL"}
Vino algo del websocket %o
AttributeError("TraductorFiscal instance has no attribute 'getStatus'",)- TraductorFiscal instance has no attribute 'getStatus'
Sending Message: {"getLastNumber":"T","printerName":"IMPRESORA_FISCAL"}
Vino algo del websocket %o
vino la respuesta %o
getLastNumber : 365
Sending Message: {"dailyClose":"X","printerName":"IMPRESORA_FISCAL"}
Vino algo del websocket %o
vino la respuesta %o
dailyClose : 9928,9928,9928,9928,9928,9928,9928,9928
Sending Message: {"dailyClose":"X","printerName":"IMPRESORA_FISCAL"}
Vino algo del websocket %o
vino la respuesta %o
dailyClose : 184,184,184,184,184,184,184,184

Y esto arroja el server.py

Iniciando Fiscalberry Server
La IP es 192.168.0.2
Impresora disponible:
  - IMPRESORA_FISCAL
      marca: Epson, driver: File


*** Websocket Server Started as HTTP at 127.0.1.1 port 12000***
new connection
----- - -- - - - ---
{"getAvaliablePrinters":""}
{u'getAvaliablePrinters': u''}
----- - -- - - - ---
{"getStatus":{},"printerName":"IMPRESORA_FISCAL"}
{u'getStatus': {}, u'printerName': u'IMPRESORA_FISCAL'}
inicializando ConectorDriverComando driver de File
ERROR:root:AttributeError("TraductorFiscal instance has no attribute 'getStatus'",)- TraductorFiscal instance has no attribute 'getStatus'
Traceback (most recent call last):
  File "~/fiscalberry/FiscalberryApp.py", line 59, in on_message
    response = traductor.json_to_comando(jsonMes)
  File "~/fiscalberry/Traductores/TraductoresHandler.py", line 64, in json_to_comando
    rta["rta"] = traductor.run(jsonTicket)
  File "~/fiscalberry/Traductores/TraductorInterface.py", line 13, in run
    fnAction = getattr(self, action)
AttributeError: TraductorFiscal instance has no attribute 'getStatus'
----- - -- - - - ---
{"getLastNumber":"T","printerName":"IMPRESORA_FISCAL"}
{u'getLastNumber': u'T', u'printerName': u'IMPRESORA_FISCAL'}
inicializando ConectorDriverComando driver de File
_sendCommand 42 ['A']
*** OUTPUT Command: 42, Parameters: ['A']

----- - -- - - - ---
{"dailyClose":"X","printerName":"IMPRESORA_FISCAL"}
{u'printerName': u'IMPRESORA_FISCAL', u'dailyClose': u'X'}
inicializando ConectorDriverComando driver de File
_sendCommand 68 ['Cancelar', '0', 'C']
*** OUTPUT Command: 68, Parameters: ['Cancelar', '0', 'C']

_sendCommand 57 [u'X', 'P']
*** OUTPUT Command: 57, Parameters: [u'X', 'P']

----- - -- - - - ---
{"dailyClose":"X","printerName":"IMPRESORA_FISCAL"}
{u'printerName': u'IMPRESORA_FISCAL', u'dailyClose': u'X'}
inicializando ConectorDriverComando driver de File
_sendCommand 68 ['Cancelar', '0', 'C']
*** OUTPUT Command: 68, Parameters: ['Cancelar', '0', 'C']

_sendCommand 57 [u'X', 'P']
*** OUTPUT Command: 57, Parameters: [u'X', 'P']

Pareciera que está todo bien. Preguntas:

  1. ¿La impresora debería moverse o algo? 😆
  2. ¿Cómo hago para imprimir un ticket sin validez fiscal o algo para testear?

from fiscalberry.

pwqw avatar pwqw commented on May 27, 2024

Acá el branch con los cambios epson-tmt900fa...

😄 Perdón por las mil vueltas que le dí pero hice varios cambios:

  • A medida que iba haciendo el set-up me iban surgiendo problemas y los fuí actualizando en el readme.md
    • Copié un script que lista los ttyUSB
    • Optimicé un poco la instalación de dependencias y agregué otras necesarias.
    • Creé una alternativa "dev" con virtualenvs y requirements.txt para que sea más práctico.
  • También estandaricé un poco el código en general:
    • En el caso de python de acuerdo a las PEP8 (y falta aún 😝 )
    • En el caso de javascript y html normalicé las tabulaciones
    • El readme lo acomodé para que se vea un poquito más bonito no más

from fiscalberry.

gonzaabel avatar gonzaabel commented on May 27, 2024
  1. ¿La impresora debería moverse o algo? 😆

Si esta bien configurada, debería imprimir al enviarle un comando si la impresora esta preparada y habilitada para emitir comprobantes.
EDIT: tambien depende de los comandos, como se comunican con la impresora, si envian algo mal puede que tire error y no te la imprima. En tal caso, vas a tener que revisar la documentación de la impresora y tirar prints de los returns en EpsonComandos para ver los codigos de respuesta y de como van los datos (en el manual de desarrollo de Epson calculo que sería como Hasar, tendrá una tabla por comando de que tipo de dato es cada caracter, su longitud y tipo de dato y debajo la respuesta que deberias recibir de la impresora para saber si hay algun error o no).

  1. ¿Cómo hago para imprimir un ticket sin validez fiscal o algo para testear?

Podes tirar un informe X que al contrario del Z, podes tirar todos los que quieras y no va a pasar nada 😄

from fiscalberry.

gonzaabel avatar gonzaabel commented on May 27, 2024

Si queres pasame por acá como tenes el archivo config.ini. Así veo si esta todo ok en la configuración

from fiscalberry.

pwqw avatar pwqw commented on May 27, 2024

config.ini :

[SERVIDOR]
puerto = 12000
ip_privada = 192.168.0.2

[IMPRESORA_FISCAL]
marca = Epson
modelo = tm-t900fa
path = /dev/ttyUSB0
driver = File

donde tm-t900fa es lo mismo que tm-220-af para el branch epson-tmt900fa por el momento

from fiscalberry.

gonzaabel avatar gonzaabel commented on May 27, 2024

El config esta bien. También añado por si acaso, que para imprimir no podrás usar el driver File, deberás usar el driver Epson.
El driver File es también otra utilidad que hay para los casos de prueba el cual va escribiendo las salidas de los comandos en un txt (donde apunta el path, el cual en estos casos podría ir en /tmp/respuestas.txt).

from fiscalberry.

gonzaabel avatar gonzaabel commented on May 27, 2024

Hola Alexis:
¿Has logrado imprimir con tu impresora Epson?

from fiscalberry.

pwqw avatar pwqw commented on May 27, 2024

Hola Gonza, no.. 😞 Y ya no tenemos más esa impresora para testear..

from fiscalberry.

diegopunk27 avatar diegopunk27 commented on May 27, 2024

Hola, alguien siguió desarrollando algo para esta impresora ( epson-tmt900fa )??

from fiscalberry.

gonzaabel avatar gonzaabel commented on May 27, 2024

Hola Diego, sobre este modelo de Epson haría falta probar configurándola en el archivo config.ini de fiscalberry, el cual debería quedar así:

[IMPRESORA_FISCAL]
marca = Epson
path = COMX (o /dev/ttySX si estas en Linux y va conectada por serial) o host = ip impresora (si la impresora tiene puerto ethernet y va conectada por red).
driver = Epson

Y tirar un X desde la página de los websockets y ver que imprima. Para eso tienes que acceder al localhost:12000 (es un SV Tornado), hacer click en el botón "listar impresoras", luego click en el botón "Enviar", seleccionar en el select que aparecerá arriba la IMPRESORA_FISCAL (o el nombre que le hayas puesto). Y para mandar el X, haces click en el botón "Cierre X" y luego click en "Enviar" nuevamente y tu impresora debería imprimirlo.

(Caso contrario, copianos la salida que te da por consola y tu config.ini para que podamos ayudarte).

Saludos!

from fiscalberry.

diegopunk27 avatar diegopunk27 commented on May 27, 2024

Hola gonzaabel, desde ya gracias por contestar... Te comento que con el servidor python de paxapos me tira un error cuando lo lanzo error... por lo tanto estuve probando el fork de AlexisCaffa, y si pude lanzar el servidor python...

Luego con cualquiera de los dos me tira error a la hora de imprimir (Utilizando windows 10), no me reconoce el puerto USB... Cómo configuras USB en el config para windows?? Probé con "USB0", "USB1", con el 0 también, porque se que es el codigo USB para estas impresoras.

from fiscalberry.

alevilar avatar alevilar commented on May 27, 2024

from fiscalberry.

diegopunk27 avatar diegopunk27 commented on May 27, 2024

Perdon, así estuve configurando el archivo config.ini.
Luego este error me genera ("[ERR] SerialException("could not open port 'USB4': WindowsError(2, 'El sistema no puede encontrar el archivo especificado.')")....

@alevilar gracias lo pruebo y te aviso!

from fiscalberry.

diegopunk27 avatar diegopunk27 commented on May 27, 2024

@alevilar estuve utilizando el "EPSON TM Virtual Port Driver Port Assignment Tool" y le asigne un puerto COM virtual, ya no da error... El tema es que no imprime, ni tampoco me genera una respuesta ante los comandos...

Aqui el log de los mensajes

from fiscalberry.

gonzaabel avatar gonzaabel commented on May 27, 2024

Hola Diego, para usar la versión master de Fiscalberry, por lo que nos muestra el primer error, es que te falta la dependencia jwt la cual se instala con pip install PyJWT. (Recién acabo de incluirla en la wiki).
Así que ya con esa dependencia instalada, no tendrías que tener más problemas para usar la versión actual de Fiscalberry y no la de Alexis que ya quedo desactualizada.

from fiscalberry.

gonzaabel avatar gonzaabel commented on May 27, 2024

Lo que no genere una respuesta en los comandos puede ser por la versión desactualizada de Alexis o que sean errores en concreto que únicamente se visualicen por consola.

from fiscalberry.

diegopunk27 avatar diegopunk27 commented on May 27, 2024

@gonzaabel , listo quedó funcionando el servidor así. Pero sigue sin imprimir nada... Vos probaste que funcionara para este modelo???

from fiscalberry.

joseluisbossio avatar joseluisbossio commented on May 27, 2024

from fiscalberry.

gonzaabel avatar gonzaabel commented on May 27, 2024

@diegopunk27 no tengo forma de testearla 😢 manda a imprimir un cierre X y muéstranos que te tira por consola.
Hay dos cosas que puedan pasar: la 1ra es que no haya una correcta comunicación con la impresora (error con el puerto USBx) o que la impresora devuelva una respuesta con estado de error (que te lo debería mostrar por consola).

@joseluisbossio el no esta usando Fiscalberry en Linux, lo usa con Windows jeje.

from fiscalberry.

diegopunk27 avatar diegopunk27 commented on May 27, 2024

@gonzaabel ésta mañana cuando estuve probando, escribía los comandos pero no imprimía, ni se visualizaba nada en pantalla... luego de varios intentos comenzaba a fallar mostrando este error... Ahora estoy lanzando pruebas de nuevo, y directamente me muestra ese error, me imagino que tiene que ver con el virtual port driver.
Lo que es extraño es que sigo utilizando el virtualizador de puerto, y con la interfaz SATF (copia de pantalla) me imprime correctamente los tikets (Tengo a la impresora en modo de prueba)...

@joseluisbossio si sigo renegando así voy a probar con ubuntu

from fiscalberry.

joseluisbossio avatar joseluisbossio commented on May 27, 2024

from fiscalberry.

gonzaabel avatar gonzaabel commented on May 27, 2024

Estas ejecutando Fiscalberry con permisos de administrador?? acá encontre el manual de desarrollo de esta impresora, mañana en cuanto tenga tiempo le echaré un vistazo para ver si puedo sacar el porque no te funciona (aunque puede que te este fallando el virtualizador de puertos)
Acá te dejo para que te descargues el com0com, virtualizador que use para la impresora Hasar de 2daGeneración. Es otra cosa que podes probar para ver si con eso llegase a funcionar jeje...

Descarga la versión según tu SO, si es 32 bits: https://mega.nz/#!bkIAGbLJ!f-xt9qFVSCgfpa_jrS24lbykw3CrdAqwA1o_1PN8LkI

Y si es 64bits: https://mega.nz/#!SgxlQIhJ!IgCnFoqEp3vmHd-tP5ErBNZ7w9LiWBmkRSAnpT1DtQY

Y si aún así no funciona... probaría como dice Jose, te instalas un linux y ahí lo tenes que sacar andando si o si jajaja. Porque el problema en Windows es que se manejan los dispositivos de distinta manera que con Linux, pero yo con ese virtualizador pude hacer andar el emulador de Hasar, ponele cuando vayas a crear el puerto virtual, un número 'alto' como COM30 por ejemplo.

Saludos!

from fiscalberry.

nicociri avatar nicociri commented on May 27, 2024

@diegopunk27 me engancho de este thread para preguntarte como conseguiste el satf para la t900? Podrias pasarmelo? Estoy rebuscando toda la web a ver si alguno lo postea pero no tengo suerte.

Tengo mi primer t900 aca y ni mi programa ni fiscalberry logro que conecten. Y me pregunto si no es este cablecito adaptador serial->usb

from fiscalberry.

diegopunk27 avatar diegopunk27 commented on May 27, 2024

@nicociri disculpas por la tardanza, hace mucho no revisaba el mail. Te comento que por este hilo no pude resolver el problema... En su momento encontré una dll llamada EpsonFiscalInterface, ahí están todas las funciones necesarias para manejar la fiscal. A partir de ahí desarrollé una API en python (+Tornado) partiendo de un ejemplo que la misma gente de epson distribuye en "Epson Fiscal Interface". El ejemplo lo podes descargar desde aqui, entre otras cosas Link. La verdad que me hubiese gustado implementarlo sin un spooler, pero no tenía más tiempo para seguir investigando. Espero que te sirva la info, sino estamos en contacto....

from fiscalberry.

alevilar avatar alevilar commented on May 27, 2024

en la ultima version de fiscalberry ya esta funcionando la Epson TM900FA por medio de la libreria oficial de Epson llamada EpsonFiscalInterface que se descarga de la pagina oficial.
Es de la release 0.9 https://github.com/paxapos/fiscalberry/releases/tag/0.9

No es la mejor solucion. pero es algo que nos permite usar esa impresora. En windows aun no esta del todo probado.

y el soporte es parcial, por ejemplo al momento no podemos imprimir descuentos ni retenciones.

Pero lo mas importante del ticket ya puede ser impreso.

from fiscalberry.

noeliapinto avatar noeliapinto commented on May 27, 2024

Hola! Alguno pudo lograr la impresión de DNFH con este modelo de impresora?

from fiscalberry.

FerPortoFar avatar FerPortoFar commented on May 27, 2024

Hola tengo un problema quiero imprimir un ticket fiscal en una Epson tm900 y quiero colocar la descripción del producto en dos líneas y no me lo permite cuando coloco el carry return me da un error indicándome que el carácter de el ítems es invalido, que podría hacer??

from fiscalberry.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.