[IMP] stock_picking_batch_collect: collected checks on transfers, ordered quantity, delivery slips report

- The collected checks also apply to transfers outside a batch, opt-in per
  operation type ("Require Collected Lines"), with the batch restrictions of
  the settings. A per-product toggle in the transfer's Operations tab collects
  all its lines.
- Read-only ordered quantity from the sale line on every batch and transfer
  view, since the weighed demand overwrites it. Adds a dependency on
  sale_stock; a migration fills it in the summary of open batches.
- "Delivery Slips" report on the batch: all its delivery slips in one PDF.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
GitHub Copilot 2026-10-04 14:32:38 +02:00
parent 76dc355c6c
commit 9c81cb986d
Signed by: snt
GPG key ID: A9FD34930EADBE71
24 changed files with 630 additions and 39 deletions

View file

@ -21,6 +21,17 @@ Cada restricción tiene un alcance:
mayor que cero (por defecto).
- *Todas*: se comprueban todas las líneas del lote, procesadas o no.
Albaranes fuera de un lote
--------------------------
Para exigir los checks también en los albaranes sueltos, marcar **Exigir líneas
recogidas** en el tipo de operación (**Inventory > Configuration > Operation
Types**, p. ej. *Delivery Orders*). Viene desactivado: sin él, los albaranes
sueltos de ese tipo se validan como siempre.
Un albarán suelto no tiene resumen por producto, así que las dos restricciones
comprueban sus líneas; si alguna usa el alcance *Todas*, se aplica ese.
Columnas
--------

View file

@ -15,6 +15,15 @@ producto y una vista a pantalla completa para el almacén.
cantidades grandes y controles táctiles, pensada para tablet en el almacén.
- Restricciones de validación configurables por compañía: el lote no se puede
validar hasta que las líneas estén marcadas como recogidas.
- Los mismos checks en los albaranes sueltos (fuera de un lote), activables por
tipo de operación.
- Columna **Cantidad pedida** (``sale_ordered_qty``), de sólo lectura, con lo
que pidió el cliente en el pedido de venta. Al teclear el peso real la demanda
del movimiento se ajusta a lo pesado, así que esta columna es la que permite
comparar lo pedido con lo preparado en la misma pantalla. Está en las
operaciones detalladas, la vista de operario, la pestaña *Operations* y el
resumen por producto del lote, y en el albarán.
- Informe **Albaranes** en el lote: todos sus albaranes de entrega en un PDF.
Las columnas se añaden con ``optional="show"`` en la vista de líneas del lote
(salvo ``product_default_code``, oculta por defecto), de modo que el usuario

View file

@ -27,3 +27,16 @@ Uso
las líneas estén recogidas y se avisa con la lista de productos pendientes.
La comprobación se ejecuta después de resolver el backorder, de modo que
sólo bloquea sobre las líneas que realmente se van a procesar.
8. En un albarán suelto, la pestaña **Operations** tiene un check
**Collected** por producto, que marca todas sus líneas; las operaciones
detalladas lo tienen por línea. Si su tipo de operación lo exige, el
albarán no se valida hasta marcarlos.
9. La columna **Cantidad pedida** muestra lo que pidió el cliente, frente a la
demanda (ya ajustada al peso) y la cantidad preparada. En el resumen por
producto del lote es la suma de los pedidos.
10. **Imprimir > Albaranes** en el lote genera un único PDF con el albarán de
entrega de cada uno de sus traslados (salvo los cancelados), ordenados por
cliente.