thegreenter / greenter

Facturación Electrónica - SUNAT - PE :four_leaf_clover:
https://greenter.dev
MIT License
269 stars 138 forks source link

Print Ticket Format #115

Closed abelnexus closed 4 years ago

abelnexus commented 6 years ago

amigo para emitir tickets, es un documento diferente o solo es una factura con el aspecto diferente no hay en sunat informacion sobre tickets electronicos(para dar comprobantes con esas maquinas que imprimen tickets )

giansalex commented 6 years ago

Como comprobante no hay ticket electronico, de si puedes imprimir la factura en esas impresoras.

abelnexus commented 6 years ago

entonces solo es la factura en tamaño de ticket, ahora modificar el template o tenras algun tempalte de ticket amigo

giansalex commented 6 years ago

no se me ha presentado esa necesidad, pero seria favorable para este proyecto que si lo realizas puedas compartirlo. Si necesitas convertirlo a pdf, tendras que cambiar esta linea, donde se coloca las dimensiones de la hoja. https://github.com/giansalex/greenter-sample/blob/ef862b9bf470b94431029358879ea560b9db5d6f/src/Util.php#L85

        $render = new PdfReport($html);
        $render->setOptions( [
            'no-outline',
            'viewport-size' => '1280x1024', 
            'page-width' => '21cm', 
            'page-height' => '29.7cm', 
            'footer-html' => __DIR__.'/../resources/footer.html',
        ]);
abelnexus commented 6 years ago

haré lo mejor que pueda y lo compartire

giansalex commented 6 years ago

bien, también existe la posibilidad de crear el pdf por codigo (ejemplo con FPDF ) como en el ticket generalmente es solo texto y poco diseño, podria hacerse de esa forma.

abelnexus commented 6 years ago

el detalle seria para generar el codigo de barras con fpdf

giansalex commented 6 years ago

tiene la opción para insertar imagen , que en esa opcion se puede insertar el codigo Qr, el cual segun la norma era obligatoria apartir de este año.

abelnexus commented 6 years ago

hola amigo, lo intente con fpdf y no logre nada :'( estoy haciendo ahora con wkhtmltopdf y tengo un problema 1.- como hago para que el largo sea automatico(se imprimira en impresoras termicas en papel carbon) 2.- como se elimina el espacio de los costados (no encuentro el padding que lo hace)

abelnexus commented 6 years ago

captura

abelnexus commented 6 years ago

ahi se ve pequeño pero al imprimir se vuelve grande XD

giansalex commented 6 years ago

En las opciones del wkhtmltopdf puedes agregar estos puntos 'margin-left' => 0 y 'margin-right' => 0 , todas las opciones estan en la pagina oficial

abelnexus commented 6 years ago

captura

abelnexus commented 6 years ago

ya tiene mas forma de ticket, pero el problema sigue siendo que se divide

giansalex commented 6 years ago

hay un problema con wkhtmltopdf, no tiene la opción de height automático, he estado siguiendo este issue 1627 donde se habla al respecto pero aun no hay un parche disponible, si tienes el html puedes compartirlo para probar con otra herramiente

abelnexus commented 6 years ago
 $render = new PdfReport($html);
    $render->setOptions( [
        'no-outline',
        'page-width' => '5cm',
        'page-height' => '20cm',
        'margin-left' => 0,
        'margin-right' => 0,
    ]);
abelnexus commented 6 years ago

ahora si le pongo 30cm en height si sale, pero se que habra problemas ya que es una altura fija

giansalex commented 6 years ago

Si esa es un temporal solucion, tener que calular la altura dependiendo principalmente de la cantidad de registros de la venta.

queria el html generado en un archivo .html

abelnexus commented 6 years ago

vale lo hize desde el invoice.twig , pero ahorita lo ahgo en html

giansalex commented 6 years ago

He agregado la opción de obtener el html que se usa para generar el pdf, aqui esta un ejemplo

abelnexus commented 6 years ago

command: wkhtmltopdf -B 0 -L 0 -R 0 -T 0 --page-width 70mm --page-height 320mm ticket.html ticket.pdf

Attachments

ticket.html.zip ticket.pdf

abelnexus commented 6 years ago

use el template de bumeran https://github.com/giansalex/greenter-report/files/1647884/invoice.pdf de ese ejemplo

giansalex commented 6 years ago

he actualizado tu comentario para adjuntar el html y pdf generado apartir de wkhtmltopdf

abelnexus commented 6 years ago

hola amigo, tengo un problema y no puedo solucionarlo, el formato de ticket me funciona correctamente en boletas y factura pero tengo problemas con la guia de remision ya que tambien se crea con el formato de "ticket" y sale mal impreso. hay alguna forma de eligir otro tempalte para guia de remision ? captura

abelnexus commented 6 years ago

sale asi por las dimenciones que le doy en 'no-outline', 'page-width' => '50mm', 'page-height' => '250mm', 'margin-left' => 0, 'margin-right' => 0, ]);

giansalex commented 6 years ago

Aunque no he visto una guía de remisión en formato de Ticket, tendría que hacerse un formato de Ticket similar al que hiciste con la Factura.

abelnexus commented 6 years ago

esta bien lo hare como ticket tambien supongo que no habra problemas, amigo estuve escuchando no se si sabras tu sobre el tema de que sunat ya no hara las validaciones de los comprobantes si no ahora seras las ose´s y se les tendra que pagar por esas validaciones, sera cierto eso ?

giansalex commented 6 years ago

Serán los que ayuden a Sunat en esa labor, pero no estoy seguro de si Sunat dejara de recibir comprobantes, en todo caso solo quedaría enviar al OSE.

giansalex commented 6 years ago

@abelnexus apartir de agosto entraran empezar a operar los OSE, se tendrá que pagarles a ellos, aunque esto no va ser obligatorio para todos sera paulatino para aquellos que ya tienen su sistema de facturación electrónica.

thefantas commented 6 years ago

Nunca subieron el template del ticket. Por cierto lo de las medidas lo puedes trabajar con mysql, por ejemplo grabando los parámetros del movimiento o tipo de documento que está haciendo.

giansalex commented 6 years ago

Lo que buscábamos era que el pdf del ticket se extendiera según el contenido, lo unico que se podria hacer es colocar el alto segun la cantidad de registros.

giansalex commented 5 years ago

command: wkhtmltopdf -B 0 -L 0 -R 0 -T 0 --page-width 70mm --page-height 320mm ticket.html ticket.pdf

Ya ha pasado tiempo, la solución sera calcular la altura aproximada dependiendo de la cantidad de items del comprobante.

gersonmagan commented 5 years ago

Serán los que ayuden a Sunat en esa labor, pero no estoy seguro de si Sunat dejara de recibir comprobantes, en todo caso solo quedaría enviar al OSE.

command: wkhtmltopdf -B 0 -L 0 -R 0 -T 0 --page-width 70mm --page-height 320mm ticket.html ticket.pdf

Ya ha pasado tiempo, la solución sera calcular la altura aproximada dependiendo de la cantidad de items del comprobante.

La solución al PDF incompleto puede ser este algoritmo de FPDF

http://www.fpdf.org/en/script/script101.php http://www.fpdf.org/en/script/ex101.pdf

ehuamaniquispe commented 2 years ago

Hola , gracias por tu aporte con tiketera. consulta, como uso la plantilla que creaste y node lo inserto en codigo de greenter, muchas gracias de antemano

yersey20037 commented 2 years ago

por favor podrias indicar el uso de la plantilla y donde se coloca? gracias

PSIONIC100 commented 5 months ago

por favor podrias indicar el uso de la plantilla y donde se coloca? gracias

En tu proyecto crea una directorio (puedes llamarlo templates), dentro creas las plantillas que gustes con twig (debe terminar en html.twig) luego haces lo siguiente:

$customDirectory = '/templates'; $report = new HtmlReport($customDirectory ); $report->setTemplate('custom_ticket.html.twig');

Eso es todo.