Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problema de conexión con Epson TM-T900FA via USB #119

Closed
fchiappano opened this issue Mar 22, 2022 · 12 comments
Closed

Problema de conexión con Epson TM-T900FA via USB #119

fchiappano opened this issue Mar 22, 2022 · 12 comments

Comments

@fchiappano
Copy link

Buenas tardes,

Estoy intentando conectar fiscal berry con controlador fiscal epson de segunda generación TM-T900FA, pero no logro que fiscal berry se comunique con el CF. Lo extraño, es que en ningun momento se genera excepción alguna por fallo de comunicación o algo por el estilo. Simplemente, a recibir el json con el comando, cierra la comunicación.

El unico comando que probe y responde, es el getStatus, ya que no depende de la conexión con el CF.

Aca les dejo, lo devuelto por fiscal berry:

[root@adempiereqa fiscalberry git:(master)]# python server.py
/urs/local/python27/lib/python2.7/site-packages/jwt/utils.py:8: CryptographyDeprecationWarning: Python 2 is no longer supported by the Python core team. Support for it is now deprecated in cryptography, and will be removed in the next release.
from cryptography.hazmat.primitives.asymmetric.utils import (
2022-03-22 17:12:46,028 @ FiscalberryApp [INFO]: Preparando Fiscalberry Server
2022-03-22 17:12:46,030 @ FiscalberryApp [INFO]: La IP privada es 192.168.1.13
2022-03-22 17:12:46,030 @ Fb => Discover [INFO]: No hay Discover configurado
2022-03-22 17:12:46,031 @ FiscalberryApp [INFO]: Iniciando Fiscalberry Server
2022-03-22 17:12:46,097 @ FiscalberryApp [INFO]: *** Websocket Server Started as HTTP at 192.168.1.13 port 12000***
2022-03-22 17:12:46,098 @ FiscalberryApp [INFO]: Impresora disponible:
2022-03-22 17:12:46,098 @ FiscalberryApp [INFO]: - IMPRESORA_FISCAL_E2G
2022-03-22 17:12:46,098 @ FiscalberryApp [INFO]: marca: Epson2Gen, driver: Epson2Gen
2022-03-22 17:13:59,780 @ FiscalberryApp [INFO]: Connection Established
2022-03-22 17:13:59,783 @ FiscalberryApp [INFO]: Request
-> {"dailyClose":"X"}
2022-03-22 17:13:59,784 @ root [INFO]: Iniciando procesamiento de json:::: {"dailyClose": "X"}
2022-03-22 17:13:59,784 @ FiscalberryApp [INFO]: Connection Closed

=======================================================================================
Por aca, les pego mi config.ini:

[SERVIDOR]
puerto = 12000
discover_url =
ssl_crt_path =
ssl_key_path =
uuid = 548ca0439df4
ip_privada = 192.168.1.13

[IMPRESORA_FISCAL_E2G]
marca = Epson2Gen
modelo = tm-t900fa
driver = Epson2Gen
path = /dev/bus/usb/002/004

En este caso estoy trabajando con SO Centos.
Otra cosa queria consultarles, es como tendria que configurar fiscal berry, para poder operar con el CF via Ethernet, si es que no hay solución para la conexión via USB.

Quedo atento a sus comentarios.

Saludos,

@spetrungaro
Copy link
Collaborator

Estimado, en el config.ini.sample esta el ejemplo de la impresora que desea configurar:

[IMPRESORA_FISCAL_E2G]
marca = Epson2Gen
modelo = tm-t900fa
driver = Epson2Gen
path = serial: /dev/usb/lp0

La parte de "serial: /dev..." en path es lo que te esta faltando. Ese driver en particular utiliza una libreria de Epson. Si lo estas corriendo como servicio, los prints que hace en consola el driver no los vas a ver, pero deberia loggear mas datos de los que estas viendo ahora

@fchiappano
Copy link
Author

Buenas tardes espetrungaro,

Gracias por tu pronta respuesta. Probe exactamente esa misma configuración, pero obtuve exactamente el mismo resultado expuesto anteriormente, donde no devuelve errores pero cierra la conexión ni bien recibe el json con los comandos.
Creo entonces, que lo que me esta faltando es la libreria de epson.

En la pagina oficial de epson, ofrecen esta libreria a modo de "Driver" : libEpsonFiscalDriver.so y libEpsonFiscalDriver.a.

A estas librerias haces referencia? donde espera fiscal berry que esten estan librerias?

Quedo mas que atento a tu respuesta.

Saludos,

@spetrungaro
Copy link
Collaborator

La libreria esta incluída en fiscalberry, la encontras en fiscalberry/epsonlib/lin/

Casualmente probé ese mismo modelo hace poco mas de dos semanas, solo hice un cierre X para asegurarme de que estuviera funcionando. En cuanto recuerde el setup que utilicé te lo puedo pasar

@spetrungaro
Copy link
Collaborator

En el json te esta faltando la key "printername"

2022-03-22 17:13:59,784 @ root [INFO]: Iniciando procesamiento de json:::: {"dailyClose": "X"}

Tendria que ser {"dailyClose": "X", "printerName" : "IMPRESORA_FISCAL_E2G"}

Cuando abris localhost:1200, el primer paso es enviar el comando de Listar Impresoras, luego seleccionar la correspondiente del desplegable y recien ahi enviarle comandos a una impresora, sin printername no hay impresora, TraductoresHandler no lo pasa a ninguna funcion y la ejecucion termina ahi

@fchiappano
Copy link
Author

Entiendo lo que esta faltando. Lo voy a probar y te comento como me fue.

Saludos!

@spetrungaro
Copy link
Collaborator

Me olvide de comentarlo, las librerias que encontras en epsonlib/lin/64/libEpsonFiscalinterface.so o epsonlib/lin/32/libEpsonFiscalinterface.so hay que copiarlas (la de 32 o 64 segun sistema a /lib64/libEpsonFiscalInterface.so o /lib/libEpsonFiscalInterface.so en linux. Despues de esos pasos te deberia funcionar

@spetrungaro
Copy link
Collaborator

Ahi encontre el config que usé:

[fiscal]
marca = Epson2Gen
modelo = tm-t900fa
driver = Epson2Gen
path = serial: /dev/usb/lp0

Con las librerias copiadas a /lib y /lib64 respectivamente y server.py corriendo con sudo.

Particularmente nunca usé fiscalberry fuera de debian, por lo que no puedo darte precisiones en centOS.

Comprobá que al conectar la impresora por usb se cree el archivo /dev/usb/lp0 (o lp1 etc). Pero es ahi donde se crea

@fchiappano
Copy link
Author

Buenas tardes spetrungaro,

Despues de unos dias hemos logrado que nos instalaran un equipo con todo lo necesario para operar (sobre todo con todos los requerimientos para las librerias de epson) y hemos logrador comunicarnos con el Controlador Fiscal de manera exitosa (el cierre fiscal X, imprimio sin problemas).

Ahora tengo un error a la hora de emitir una factura (en este caso tipo A) y no tengo claro cual puede ser el problema.
Les dejo a continuación el detalle devuelto por fiscal berry:

2022-03-31 15:57:44,952 @ FiscalberryApp [INFO]: Connection Established
2022-03-31 15:57:45,513 @ FiscalberryApp [INFO]: Request
-> {"printerName":"IMPRESORA_FISCAL_E2G","printTicket":{"encabezado":{"tipo_cbte":"FA","tipo_doc":"CUIT","domicilio_cliente":"600 HECTAREAS , IGUAZU, PUERTO IGUAZU 3370, Misiones ","nro_doc":"30710458401","tipo_responsable":"RESPONSABLE_INSCRIPTO","nombre_cliente":"AWVB S.A.- Awasi "},"items":[{"alic_iva":21.00,"qty":1.00,"importe":21.80,"ds":"GALL.MAURI VAINILLAS x80g"}]}}
2022-03-31 15:57:45,514 @ root [INFO]: Iniciando procesamiento de json:::: {"printTicket": {"encabezado": {"tipo_cbte": "FA", "nro_doc": "30710458401", "domicilio_cliente": "600 HECTAREAS , IGUAZU, PUERTO IGUAZU 3370, Misiones ", "tipo_doc": "CUIT", "nombre_cliente": "AWVB S.A.- Awasi ", "tipo_responsable": "RESPONSABLE_INSCRIPTO"}, "items": [{"alic_iva": 21.0, "importe": 21.8, "ds": "GALL.MAURI VAINILLAS x80g", "qty": 1.0}]}, "printerName": "IMPRESORA_FISCAL_E2G"}
2022-03-31 15:57:45,519 @ root [INFO]: mandando comando de impresora
2022-03-31 15:57:45,531 @ root [INFO]: inicializando ConectorDriverComando driver de '$Epson2Gen'


EPSON FISCAL



Machinne Version :
83886123
String Machinne Version :
Neptuno
Major Machinne Version :
1
Minor Machine Version :
3
Conexion Status :
83886116
Log iniciado Status :
0
2022-03-31 15:57:45,700 @ root [INFO]: Conectada la Epson 2Gen al puerto : serial: /dev/usb/lp0
Machinne Version :
83886123
String Machinne Version :
Neptuno
Major Machinne Version :
1
Minor Machine Version :
3
Conexion Status :
83886116
Log iniciado Status :
0
2022-03-31 15:57:45,760 @ root [INFO]: Conectada la Epson 2Gen al puerto : serial: /dev/usb/lp0
Last Error :
83886127
2022-03-31 15:57:46,680 @ root [INFO]: Desconectada la Epson 2Gen al puerto: serial: /dev/usb/lp0
Process Process-2:
Traceback (most recent call last):
File "/usr/lib64/python2.7/multiprocessing/process.py", line 267, in _bootstrap
self.run()
File "/usr/lib64/python2.7/multiprocessing/process.py", line 114, in run
self._target(*self._args, **self._kwargs)
File "/opt/fiscalberry/Traductores/TraductoresHandler.py", line 67, in runTraductor
queue.put(traductor.run(jsonTicket))
File "/opt/fiscalberry/Traductores/TraductorInterface.py", line 27, in run
res = fnAction(**jsonTicket[action])
File "/opt/fiscalberry/Traductores/TraductorFiscal.py", line 81, in printTicket
self._abrirComprobante(**encabezado)
File "/opt/fiscalberry/Traductores/TraductorFiscal.py", line 145, in _abrirComprobante
nro_doc, doc_fiscal, pos_fiscal)
File "/opt/fiscalberry/Comandos/Epson2GenComandos.py", line 201, in openBillTicket
comprobanteType = self.comprobanteTypes[type]
KeyError: u'A'
2022-03-31 15:57:46,682 @ FiscalberryApp [INFO]: Response
<- {'rta': ''}
2022-03-31 15:57:46,684 @ FiscalberryApp [INFO]: Connection Closed

Por otra parte, les dejo el JSon que estoy enviando:

{
"printerName": "IMPRESORA_FISCAL_E2G",
"printTicket": {
"encabezado": {
"tipo_cbte": "FA",
"tipo_doc": "CUIT",
"domicilio_cliente": "600 HECTAREAS , IGUAZU, PUERTO IGUAZU 3370, Misiones ",
"nro_doc": "30710458401",
"tipo_responsable": "RESPONSABLE_INSCRIPTO",
"nombre_cliente": "AWVB S.A.- Awasi "
},
"items": [{
"alic_iva": 21.00,
"qty": 1.00,
"importe": 21.80,
"ds": "GALL.MAURI VAINILLAS x80g"
}]
}
}

Desde ya, que quedo atento a sus comentarios y estoy agradecido por su ayuda.

Saludos cordiales,

@spetrungaro
Copy link
Collaborator

Ahí detecte la razón del bug, en un rato estaré subiendo la corrección!

@fchiappano
Copy link
Author

fchiappano commented Mar 31, 2022

Muchas gracias spetrungaro,

Por nuestra parte, queremos aportar en lo que podamos al proyecto (si es posible). No estamos tan habituados al desarrollo en python, pero algo hemos realizado hasta ahora.

Queria consultarte finalmente, si FiscalBerry contempla algo respecto a impuestos internos, ya que tenemos un cliente que lo esta requiriendo.

Desde ya muchas gracias!!!

Saludos,

@spetrungaro
Copy link
Collaborator

Se podría implementar para esa impresora, de hecho en el codigo estan comentados los parametros que habria que agregar en el metodo. Solo que el rubro donde nos desenvolvemos no maneja esos tributos:

# identificador II impuestos internos (0 = Ninguno), valor II, id_codigo (1 = Interno), valor del codigo, codigo_unidad_matrix, unidad de medida Unidad (7)

Podría agregarle esa funcionalidad y para cada item tendrían que agregar en el Json los siguentes parametros según manual, respetando el tipo requerido de cada uno (int y str):

image

@spetrungaro
Copy link
Collaborator

Abrí una nueva issue acerca de los Imp Internos para que pueda continuar esa temática ahí

fchiappano added a commit to comitsrl/fiscalberry that referenced this issue Jun 9, 2022
Se agrego, la impresión de tickets no fiscales de tipo Presupuesto,
Genericos e Internos.
fchiappano added a commit to comitsrl/fiscalberry that referenced this issue Jun 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants