[bug] Imprimir ticket imprime toda la pantalla en lugar del ticket #23

Open
opened 2026-10-02 19:21:55 +00:00 by Carlos · 0 comments
Member

Qué pasa

El botón "Imprimir ticket" del POS (apps/web/src/app/pos/page.tsx:559) y del historial de ventas (apps/web/src/app/pos/historial/page.tsx:230) llama a window.print(), pero el proyecto no tiene ningún estilo de impresión: no hay @media print ni clases print: de Tailwind. La impresora recibe la página completa en lugar de un ticket.

Entorno

local

Módulos

Punto de venta (POS), Web / frontend

Severidad

Bloquea un flujo

Pasos para reproducir

  1. Registrar una venta en el POS.
  2. Presionar "Imprimir ticket".
  3. Revisar la vista previa de impresión (o imprimir en una térmica de 58/80 mm).
  4. Repetir desde Historial de ventas con una venta seleccionada.

Esperado

Se imprime solo el ticket (negocio, folio, fecha, líneas, subtotal, descuento, total, método de pago), con el ancho de la impresora térmica y sin navegación ni botones.

Actual

Se imprime toda la pantalla: barra superior, carrito, panel de cobro y menús, con el ancho de una hoja carta.

Evidencia

Encontrado en auditoría de código; no reproducido en ejecución.

$ grep -rn "@media print\|print:" apps/web/src
(sin resultados)

// pos/page.tsx:559 y pos/historial/page.tsx:230
onClick={() => window.print()}

Arreglo sugerido: un componente Ticket compartido entre POS e historial, visible solo al imprimir (hidden print:block), con el resto de la UI en print:hidden y @page { size: 80mm auto; margin: 0 }. Confirmar con el negocio el ancho de la impresora.

¿Está también en producción?

  • Sí — este issue no basta; hay que abrir un Incidente / hotfix
  • No — solo local / staging
  • No sé

Antes de abrir

  • Busqué un issue duplicado
### Qué pasa El botón "Imprimir ticket" del POS (`apps/web/src/app/pos/page.tsx:559`) y del historial de ventas (`apps/web/src/app/pos/historial/page.tsx:230`) llama a `window.print()`, pero el proyecto no tiene ningún estilo de impresión: no hay `@media print` ni clases `print:` de Tailwind. La impresora recibe la página completa en lugar de un ticket. ### Entorno local ### Módulos Punto de venta (POS), Web / frontend ### Severidad Bloquea un flujo ### Pasos para reproducir 1. Registrar una venta en el POS. 2. Presionar "Imprimir ticket". 3. Revisar la vista previa de impresión (o imprimir en una térmica de 58/80 mm). 4. Repetir desde **Historial de ventas** con una venta seleccionada. ### Esperado Se imprime solo el ticket (negocio, folio, fecha, líneas, subtotal, descuento, total, método de pago), con el ancho de la impresora térmica y sin navegación ni botones. ### Actual Se imprime toda la pantalla: barra superior, carrito, panel de cobro y menús, con el ancho de una hoja carta. ### Evidencia ```shell Encontrado en auditoría de código; no reproducido en ejecución. $ grep -rn "@media print\|print:" apps/web/src (sin resultados) // pos/page.tsx:559 y pos/historial/page.tsx:230 onClick={() => window.print()} ``` Arreglo sugerido: un componente `Ticket` compartido entre POS e historial, visible solo al imprimir (`hidden print:block`), con el resto de la UI en `print:hidden` y `@page { size: 80mm auto; margin: 0 }`. Confirmar con el negocio el ancho de la impresora. ### ¿Está también en producción? - [ ] Sí — este issue no basta; hay que abrir un Incidente / hotfix - [ ] No — solo local / staging - [x] No sé ### Antes de abrir - [x] Busqué un issue duplicado
Emmanuel was assigned by Carlos 2026-10-02 20:03:39 +00:00
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: RynextTechnologies/PDV#23