Cómo reordenar productos en un ticket
Cambia el orden visible de las líneas de producto de un ticket abierto del TPV. El operador arrastra una fila y la aplicación guarda el nuevo orden sin cambiar productos, precios ni importes.
En este artículo
Este flujo sirve para ordenar la comanda mientras el ticket sigue abierto, por ejemplo cuando el equipo quiere priorizar visualmente algunas líneas durante el servicio.
La acción se realiza desde el detalle del ticket: no hay botones visibles de subir o bajar en el editor de producto; la interfaz documentable es el arrastre vertical en la lista.
Antes de empezar
- Tener acceso al TPV de la ubicación, por ejemplo Marta Ruiz en Marea Gran Via.
- Abrir un ticket editable con al menos dos líneas de producto visibles.
- El ticket no debe estar anulado ni cerrado desde la interfaz.
- Con permiso `tpv:use`, el ticket debe pertenecer a la sesión activa de TPV de la ubicación; otros tickets requieren permisos de gestión.
- Si alguna línea tiene descuento, el usuario puede necesitar `tickets:manage` o `tpv:discount` aunque solo cambie el orden.
Instrucciones
- 1.
Abrir el ticket
Entra en el TPV del local y abre el detalle del ticket que quieres ordenar. En la demo localizada, usa el ticket de Marea Gran Via preparado con `TPV_TICKET_ID`.
- 2.
Comprobar que hay líneas reordenables
Revisa que la lista contiene dos o más productos y que el ticket sigue siendo editable. Si solo hay una línea, no hay nada que mover.
- 3.
Arrastrar una línea
Mantén pulsada la fila del producto y desplázala verticalmente hasta la posición deseada dentro de la lista. Durante el gesto, la pantalla muestra una previsualización local del nuevo hueco.
- 4.
Soltar para guardar
Suelta la fila en la nueva posición. La aplicación aplica el orden en pantalla y guarda las líneas afectadas del ticket sin mostrar un aviso de éxito por cada actualización.
- 5.
Verificar el resultado
Comprueba que la lista queda en el orden esperado. Si necesitas confirmarlo, vuelve a abrir el detalle del ticket y revisa que el orden se mantiene.
Validaciones y límites
- La acción solo tiene sentido cuando el ticket contiene dos o más líneas visibles.
- La interfaz bloquea el reordenado si el ticket está anulado o cerrado.
- Si el gesto se cancela o la fila se suelta en la misma posición, no se guarda ningún cambio.
- Un movimiento largo puede guardar varios cambios secuenciales, uno por cada línea afectada.
- El flujo no muestra toast de éxito; la confirmación operativa es que la lista queda en el nuevo orden.
- Si una actualización falla, la pantalla restaura el orden anterior y muestra el error configurado.
- Un reordenado puro no debería alterar productos, subtotal, impuestos ni total del ticket.
- Antes de capturar la demo, valida que `TPV_TICKET_ID` tiene al menos dos `ticket_item` mutables.
Resultado esperado
El ticket conserva sus productos e importes, pero las líneas quedan guardadas en el nuevo orden visual mediante el orden interno de `ticket_items.sort_order`.