Permitir que la descripción de un producto se divida en líneas si es que excede el ancho del papel.

76 views
Skip to first unread message

Ayelen Guerra

unread,
Feb 2, 2017, 12:00:16 PM2/2/17
to PyFiscalPrinter
Buenas tardes, les cuento que al imprimir los detalles de una factura la descripción del item se corta a los 20 caracteres, necesito saber como podría hacer para dividir la cadena completa en lìneas.
Ejemplo:
La descripción de un producto es "biferdil balsam rosa mosq organico 255ml" y sólo aparece "biferdil balsam rosa", necesito que se imprima solo.


Espero haber sido clara, saludos y gracias.


Hernán

unread,
Feb 2, 2017, 12:38:48 PM2/2/17
to PyFiscalPrinter
De la siguiente manera podés separar por líneas:

printer.addItem(["biferdil balsam rosa", "mosq organico 255ml"], cantidad, precio, 21.0, discount=0, discountDescription="")

Ayelen Guerra

unread,
Feb 2, 2017, 2:16:49 PM2/2/17
to PyFiscalPrinter
Hola Hernan, gracias por tu pronta respuesta. Te cuento que probé eso pero no me funcionó, me corta el texto de todas formas. Habra otra forma?

Hernán Valdez

unread,
Feb 2, 2017, 2:30:18 PM2/2/17
to PyFiscalPrinter
O sea que no sale la segunda línea? Que impresora es?

--

---
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 pyfiscalprint...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Ayelen Guerra

unread,
Feb 2, 2017, 2:49:01 PM2/2/17
to PyFiscalPrinter
En realidad no que me sale es "mosq organico 255ml" la ultima parte. La impresora es Epson TM-U220AFII.

Hernán Valdez

unread,
Feb 2, 2017, 3:06:28 PM2/2/17
to PyFiscalPrinter
Yo lo tengo probado en una Hasar, pero mirando el código de la Epson veo que es igual.
Te pongo el fragmento que lo hace:


if self._getCommandIndex() == 0:
    for d in description[:-1]:
        self._sendCommand(self.CMD_PRINT_TEXT_IN_FISCAL,
                           [formatText(d)[:20]])
reply = self._sendCommand(self.CMD_PRINT_LINE_ITEM[self._getCommandIndex()],
                  [formatText(description[-1][:20]),
                    quantityStr, priceUnitStr, ivaStr, sign, bultosStr, "0"] + extraparams)



description es una lista, no sé porque te falla. En este fragmento se ve que hay una comprobación antes, _getCommandIndex() que no se que es. Si podes metele un assert para ver si es 0 ese valor, si no parece ser eso lo que falla.

Ayelen Guerra

unread,
Feb 3, 2017, 9:08:11 AM2/3/17
to PyFiscalPrinter
El _getCommandIndex() devuelve un valor dependiendo el tipo de documento a imprimir, en mi caso es una factura por lo que devuelve 1. Por lo que veí una factura no puede imprimir texto en una factura pero si se pueden enviar detalles extras, que es lo que pasa como un array sin valores en :
extraparams = self._currentDocument in (self.CURRENT_DOC_BILL_TICKET,
           
self.CURRENT_DOC_CREDIT_TICKET) and ["", "", ""] or []
Por lo que veo tendré que reemplazar ese array con la descripción del producto dividida.
Reply all
Reply to author
Forward
0 new messages