Esta web utiliza cookies propias y de terceros para su funcionamiento. ¿Aceptas? Leer más
Esta consulta es de hace 3 años. Tenga eso en cuenta.
retegi84_f74d39
retegi84_f74d39
Pregunta cerrado

Buenas, Acabo de adquirir una impresora de ticket...

Buenas,
Acabo de adquirir una impresora de ticket TM-T20II, y utilizo MacBook (Sistema Operativo Macos Sierra). Parece ser que para poder imprimir tickets hay que descargar un plugin (ya lo he descargado) y dice lo siguiente en la web de descarga e instalación de facturascripts:

Para poder imprimir tickets en FacturaScripts necesitas dos cosas:
Python 2.x o 3.x
Una impresora de tickets correctamente instalada. No se imprimen tickets en otro tipo de impresoras.
El script remote-printer.

La impresora está bien instalada, desde el editor de texto del mac, imprimo sin problema.
¿Qué hago con lo descargado? ¿Y Python? ¿Debo descargar Python?

Saludos y gracias!

España   02-06-2017 00:48:38   06-06-2017 10:56:52   31   [NeoRazorX]

hlopez_04fd16
Mira esto:

http://beckism.com/2008/05/run_python_mac_os_x/
retegi84_f74d39
Gracias, muchas gracias por la respuesta, pero no lo consigo.
Vamos a ver, de facturascripts he descargado el script que en realidad vienen 4 archivos que los tengo en downloads de mi mac:

LiCENSE
README.md
remote-printer.py
remote-printer3.py

Según en esa web que me indicas, debo ejecutar en el terminal:

python path/to/script [options]

Luego dice algo así como: Por supuesto remplace [options] por lo que corresponda:

python ~/Documents/My\ Python\ Scripts/script.sh

Al introducir en la terminal:

python ~/Downloads/facturascripts/remote-printer.php

Me devuelve la siguiente respuesta:

Fri Jun 2 08:23:46 2017 Server Starts - localhost:10080

Pero sigue sin funcionar... ¿Qué hago mal?
(En facturascripts en terminales tengo los comandos y la impresora seleccionadas corréctamente)
retegi84_f74d39
(No he indicado pero también me a hecho introducir la url de la API:
http://localhost/facturascripts/api.php
(Ya que mi facturascripts está en http://localhost/facturascripts/index.php)
y el nombre de la impresora que he puesto:
Epson TM-T20ii)
NeoRazorX
El mensaje que devuelve es correcto. Remote printer en una aplicación que sirve para imprimir lo tickets que se van haciendo, conforme se van haciendo. Al ejecutarla no se va a imprimir todo lo que haya pendiente, tienes que ir al tpv. Conforme vas haciendo tickets, entonces se van imprimiendo.

Lamento que la versión para linux/mac sea tan anti-intuitiva. Hay pendiente una renovación de la aplicación, pero aun falta para eso.
Saludos.
retegi84_f74d39
Buenas majo! Agradecerte una vez más tu creación.
La primera implantación de facturascripts que vamos a realizar será en Linux para un comercio de Donosti, pero me interesa tener controlados los pasos correctos para conseguirlo en windows, linux y mac. Y sí, que parece que está como asignatura pendiente la "fácil instalación" de impresora almenos en Mac, y condiciona bastante a la hora de ofrecerlo a futuros clientes. Mientras sigo sin poder imprimir en Macos Sierra...¿álguien lo a conseguido? ; )
NeoRazorX
Perooo ¿No te ha servido lo que te he dicho? Cuando ejecutas remote printer y vas al TPV ¿No hace nada? ¿No muestra nada en el terminal?
PD: hoy me está costando que lean lo que escribo...
hlopez_04fd16
Debo decir que yo desde linux tampoco lo conseguí, aunque hice una prueba básica tampoco es que le insistiera mucho además de que no tenga una impresora POS. Algún día que estuve donde un cliente quise ver como funcionaba... pero no pude usando ninguno de los 2 .py
retegi84_f74d39
Carlos, he leido tus sabias palabras, perdona si no lo a parecido. Es muy probable que el motivo de que no me imprima sea que no sigo los pasos corréctamente, pero no doy con el misterio, y lo veo muy sencillo y no funciona. Te cuenta los pasos que sigo paso a paso a ver si damos con el error.

Resumen y situación actual:
No imprime ni abre cajón, ni con la versión demo ni con la de localhost ni en mac ni en windows. Todavía no he probado en Linux.

IMPRESORA CONFIGURADA, IMPRIME...
Tras instalar la impresora en mac y windows y hacer pruebas de impresión con bloc de notas (dejo confirmado que la impresora funciona correctamente) ya que me imprime ticket con lo que escriba en el block de notas.

Remote printer (windows):
Doble click, se instala y sale una venta donde se introduce la url API
En el caso de la demo de la web:
http://www.facturascripts/demo/api.php
Selecciono TM-T20ii
Guardar...(y por cierto la ventana no se cierra, se queda que no sabes si a guardado o no)

En el caso de la versión instalada en localhost:
http://localhost/facturascripts/api.php
Selecciono TM-T20ii
Guardar...(y por cierto la ventana no se cierra, se queda que no sabes si a guardado o no)

ARQUEOS Y TERMINALES - TERMINALES
Comando corte: 27.109
Comando apertura: 27.112.48.55.121

¡A IMPRIMIR TICKET!
Los pasos que sigo para imprimir ticket son los siguientes y no consigo imprimir en windows ni en mac:

TPV Genérico
Buscar artículo, "clic"eo
Sale en el ticket en pantalla con el producto indicado
Le doy a guardar
Sale una ventana donde introduzco el importe que me da (el cliente)
Guardar e imprimir
...nada

Y nada de nada, ni en mac, ni en windows, ni en la versión demo ni en la versión localhost.

¿Qué sucede?

Gracias por vuestra paciencia Carlos García y resto de foreros.

Saludos!!
NeoRazorX
Remote printer está funcionando en muchísimos establecimientos, en windows, linux y Mac.
Lo único que se me ocurre es que tengas algún bloqueo de firewall o en el navegador. El TPV le indica a remote printer cuando imprimir mediante una imagen que apunta a http://localhost:10080?terminal=X. Si tienes algo que lo bloquea, entonces no imprime nada.
retegi84_f74d39
Error que me devuelve en MAC tras tener ejecutado remote-printe.py, pero el error se genera cuando le doy a imprimier ticket (que comienza lo de "Exception happened...)... ¿Alguna pista?

MacBook-Pro-de-inaki:downloads inaki$ python remote-printer.py
Sat Jun 3 13:42:46 2017 Server Starts - localhost:10080
127.0.0.1 - - [03/Jun/2017 13:44:16] "GET /?terminal=1 HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 49867)
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
self.process_request(request, client_address)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 321, in process_request
self.finish_request(request, client_address)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 655, in __init__
self.handle()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "remote-printer.py", line 29, in do_GET
response = urllib2.urlopen(api_url+'?v=2&f=remote_printer'+extra_url)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 423, in open
protocol = req.get_type()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 285, in get_type
raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type: ?v=2&f=remote_printer&terminal=1
----------------------------------------
127.0.0.1 - - [03/Jun/2017 13:44:16] "GET /?terminal=1 HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 49869)
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 295, in _handle_request_noblock
self.process_request(request, client_address)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 321, in process_request
self.finish_request(request, client_address)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/SocketServer.py", line 655, in __init__
self.handle()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 340, in handle
self.handle_one_request()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/BaseHTTPServer.py", line 328, in handle_one_request
method()
File "remote-printer.py", line 29, in do_GET
response = urllib2.urlopen(api_url+'?v=2&f=remote_printer'+extra_url)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 154, in urlopen
return opener.open(url, data, timeout)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 423, in open
protocol = req.get_type()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py", line 285, in get_type
raise ValueError, "unknown url type: %s" % self.__original
ValueError: unknown url type: ?v=2&f=remote_printer&terminal=1
----------------------------------------
hlopez_04fd16
Bueno a mi en windows si me funciona de una, es muy fácil y no puede quedar el software cerrado debe quedar minimizado junto al reloj de windows si se cierra no imprime, estoy tratando de conseguir una impresora prestada para hacer más pruebas desde Linux
retegi84_f74d39
Buenas, hlopez, si fueras de por aquí del Donosti o la zona, podríamos hacer una quedada para hacer pruebas con mi Espson TM-T20ii, con mi Mac, Linux y Windows, pero no creo que seas de por aquí... xD

A mi el invento no me funciona la verdad ni en Mac ni en Windows (Linux no he probado)., pero conseguiré que funcione en las 3...xD

No se si comprando un ticket de asistencia de estos de 25€ remotamente me ayudarían o algo.

Saludos y suerte con la búsqueda de tu impresora de tickets.
hlopez_04fd16
Tu eres de España y yo de Colombia igual muchas gracias, ya conseguí con un par de clientes 2 que no están usando para hacer pruebas y poder retroalimentar a la comunidad (pero primero debo ir por ellas). En Windows el icono no lo cierres, fijate que quede minimizado junto al reloj de windows y con el link del api. Ej http://www.ejemplo.com/sistema/api.php y con la impresora POS seleccionada, te aseguro que esto no falla lo he usado en varios computadores con varias impresoras sin problemas durante varios meses
NeoRazorX
Parece como que la url de la api que está leyendo es '', es decir, nada.
¿Hay un archivo config.txt en la carpeta del script? ¿Tiene algo?
retegi84_f74d39
Gracias por tu interés NeoRazorX
Al abrir el directorio, al principio hay cuatro ficheros. Despues tras ejecutar el script aparecen 2 más que antes no había: config.txt y ticket.txt pero como puedes ver, después dice que la impreso o clase no existe.
Al ejecutar el script pide la url api que en mi caso pongo:
http://localhost/facturascripts/api.php

Después pide nombre de impresora que pongo:
Epson TM-T20II

MacBook-Pro-de-inaki:facturascripts-client-master inaki$ ls
LICENSE config.txt remote-printer3.py
README.md remote-printer.py ticket.txt
MacBook-Pro-de-inaki:facturascripts-client-master inaki$ python remote-printer.py
Sun Jun 4 22:41:42 2017 Server Starts - localhost:10080
127.0.0.1 - - [04/Jun/2017 22:42:47] "GET /?terminal=1 HTTP/1.1" 200 -
lpr: La impresora o clase no existe.

Sigo intentándolo a ver, pero qué misterio. Por cierto con otra aplicación TPV he probado y funciona UNICENTA se llama. Y con Facturascripts todavía no lo consigo.

Saludos y a ver si lo conseguimos que me hará un pelín más feliz. xD
retegi84_f74d39
Cada vez que le doy a imprimir en la versión DEMO de la web me devuelve esto siguiente:

127.0.0.1 - - [04/Jun/2017 23:01:24] "GET /?terminal=91 HTTP/1.1" 200 -
lpr: La impresora o clase no existe.
hlopez_04fd16
Prueba con el nombre de la impresora, que no tenga espacios
NeoRazorX
Cierto, los nombres de impresora con espacios suelen dar problemas con el actual script.
retegi84_f74d39
He probado ponerlo sin espacio incluso sin guión y sigue igual...

POR CIERTO, si pongo en el navegador
La ruta de la API
http://localhost/facturascripts_2015-master/api.php
Me da el siguiente resultado:
"Version de la API de FacturaScripts ausente. Actualiza el cliente."

¿Puede ser alguna pista?

Saludos.
NeoRazorX
Puede ser una pista de que no estás usando la url correcta. En los mensajes anteriores decías que usabas http://localhost/facturascripts/api.php
Remote-printer ya proporciona la versión de la api que utiliza.

La url que consultaría realmente remote-printer es http://localhost/facturascripts_2015-master/api.php?v=2&f=remote_printer&terminal=1, pero tú solamente debes proporcionar hasta api.php
retegi84_f74d39
Eso es porque he probado e instalado varias veces incluso probando diferentes url...xD
La última lo he hecho teniéndolo todo con el nombre de directorio llamado "facturascripts_2015-master" dentro del localhost. La anterior vez la llamé "facturascripts".
Pero nada de nada... por supuesto siempre poniendo a la api, el directorio correspondiente apuntando al archivo api.php

La carpeta del script debe colocarse en algún directorio en concreto, no ¿verdad? ¿O hay que meterlo en el localhost en algún directorio?

Saludos.
NeoRazorX
El script puede estar en cualquier sitio.

Vale, estoy mirando la documentación de cups y veo que cambian los parámetros de lpr en ciertas versiones. Prueba a cambiar la línea 36:
https://github.com/NeoRazorX/facturascripts-client/blob/master/remote-printer.py#L36

Por esta:
call(['lp', '-d', printer_name, 'ticket.txt'])
retegi84_f74d39
Ya lo miraré cuando pueda y te diré. Sí que te puedo confirmar que el ticket.txt se crea automáticamente si recibe incluso la información de la venta realizada.
Ya probaré cambiar ese código a ver qué sucede... y te cuento.
retegi84_f74d39
Acabo de probar el código y me devuelve lo siguiente, sin imprimir nada:

MacBook-Pro-de-inaki:remoteprinter inaki$ python remote-printer.py
URL de la api: http://localhost/facturascripts_2015-master/api.php
Nombre de la impresora: epsontmt20ii
Mon Jun 5 23:27:36 2017 Server Starts - localhost:10080
127.0.0.1 - - [05/Jun/2017 23:29:55] "GET /?terminal=1 HTTP/1.1" 200 -
lp: La impresora o clase no existe.
127.0.0.1 - - [05/Jun/2017 23:30:04] "GET /?terminal=1 HTTP/1.1" 200 -
lp: La impresora o clase no existe.


Seguimos con el misterio... xD
NeoRazorX
OK, abre un terminal y prueba a ejecutar directamente:
lp -d nombre_de_la_impresora archivo_texto.txt
Parece que todo el problema viene del comando. Hay que encontrar el comando en Mac con el que poder enviar un archivo de texto a una impresora.
retegi84_f74d39
Los datos son correctos, ¿verdad? No es nada raro lo que pongo, entiendo...
api: http://localhost/facturascripts/api.php
printer: EpsonTMT20II

Si meto directamente la url http://localhost/facturascripts/api.php me devuelve lo siguiente:
Version de la API de FacturaScripts ausente. Actualiza el cliente.
NeoRazorX
Que si. No demos pasos hacia atrás.
El problema viene del comando lp o lpr.
retegi84_f74d39
Ok, esto me devuelve...

MacBook-Pro-de-inaki:remoteprinter inaki$ lp -d EpsonTMT20II config.txt
lp: La impresora o clase no existe.

MacBook-Pro-de-inaki:remoteprinter inaki$ lp -d nombre_de_la_impresora archivo_texto.txt
lp: Error: no se puede acceder a “archivo_texto.txt” (No such file or directory).
MacBook-Pro-de-inaki:remoteprinter inaki$
retegi84_f74d39
Si hago desde terminal o comando lp config.txt o lpr config.txt imprime el archivo desde el Epson TM-T20II sin problema...
NeoRazorX
Parece que macos espera algo más que el nombre de la impresora. Cambia la línea 36:
https://github.com/NeoRazorX/facturascripts-client/blob/master/remote-printer.py#L36

Por esta:
call(['lp', 'ticket.txt'])
-
[[Cerrado por inactividad]]
Cerrado
Título Tipo
retegi84_f74d39 informatix
Buenas, ¿Qué tal? Anteriormente hice una consulta referente a la impresión de ticket con impresora Epson TM-T20ii en entorno MACos SIERRA. No lo conseguí a pesar de tenerlo instalado...
cerrado 24-08-2017 00:11:48
Pregunta 2
retegi84_f74d39 hlopez_04fd16
Que www.FacturasScripts.com tenga un inicio de sesión con usuario y contraseña (habitual), y no mediante una url de acceso. Creo que sería más cómodo. Saludos.
cerrado 03-06-2017 16:30:08
Idea 1
retegi84_f74d39 retegi84_f74d39
Necesito que imprima el ticket sólo cuando se le de a "imprimir ticket", ya que es para una panadería - pastelería - cafetería. ¿Es posible? ¿O imprime siempre ticket? Saludos.
cerrado 29-05-2017 22:46:23
Pregunta 9
retegi84_f74d39
Plugin: tpv_tactil Poder crear nuevo cliente en el mismo tpv táctil. Así tener dos opciones: Buscar (ya existe la opción), Crear nuevo cliente. Saludos.
cerrado 28-05-2017 22:14:13
Pregunta 0
retegi84_f74d39 NeoRazorX
¿En esta maravilla de programa, dónde se activa el recargo de equivalencia? Si necesito introducir una factura con recargo de equivalencia, no encuentro la opción para introducirlo. Gracias y saludos.
cerrado 29-05-2017 10:43:54
Pregunta 3
retegi84_f74d39 retegi84_f74d39
¿Qué impresora de tickets, caja registradora y lector de códigos recomendaríais a los clientes? Me gustaría saber, por expericencias que hayáis tenido, que hardware recomendariais (lo que no es el...
cerrado 02-06-2017 20:56:47
Pregunta 3
retegi84_f74d39
Un plugin o aplicación TPV que permita o sea compatible con BÁSCULAS. Uno de los motivos por el cual se descartaría FacturaScripts (y es una pena porque veo que es estupendo) es la necesidad muy...
cerrado 24-05-2017 18:22:43
Idea 0
retegi84_f74d39 retegi84_f74d39
Buenas, He descargado la versión para MAC pero me devuelce lo siguiente con comandos para Linux...: ------------------------------------------- La carpeta de FacturaScripts no tiene permisos de...
cerrado 26-05-2017 19:30:49
Error 2