Skip to content

[17.0][FIX] stock_ux: evitar validar remitos con seriales sin asignar (#119570)#953

Open
fw-bot-adhoc wants to merge 1 commit into
ingadhoc:18.0from
adhoc-dev:18.0-17.0-h-119570-jc-6398-fw
Open

[17.0][FIX] stock_ux: evitar validar remitos con seriales sin asignar (#119570)#953
fw-bot-adhoc wants to merge 1 commit into
ingadhoc:18.0from
adhoc-dev:18.0-17.0-h-119570-jc-6398-fw

Conversation

@fw-bot-adhoc

Copy link
Copy Markdown
Contributor

Cambio

Agrega _check_serial_quantity_consistency() en el _sanity_check()
de stock.picking para bloquear validacion de remitos donde la
cantidad hecha en un producto con tracking por serial no coincida
con la cantidad de seriales asignados.

Odoo standard verifica que cada move line picked tenga su serial,
pero nunca reconcilia move.quantity contra la cantidad de lineas
con serial. Esto permitia validar un remito con 5 unidades hechas
pero solo 4 seriales asignados, dejando un movimiento inconsistente
imposible de retornar.

Fix adicional

_check_number_of_packages() cambia de return {"warning": ...}
a raise UserError para mantener consistencia con el resto de las
validaciones del modulo.

Test plan

  1. Crear un producto con tracking por serial
  2. Crear un remito de delivery con qty 5
  3. Asignar solo 4 seriales, dejar linea remanente sin serial (no picked)
  4. Validar -> debe fallar con el mensaje del nuevo guard

Agregado test automatizado test_serial_quantity_consistency.py.

Refs: https://www.adhoc.inc/odoo/web#id=119570&model=helpdesk.ticket

Forward-Port-Of: #944

@roboadhoc

Copy link
Copy Markdown
Collaborator

Pull request status dashboard

@fw-bot-adhoc

Copy link
Copy Markdown
Contributor Author

@jcadhoc @mav-adhoc cherrypicking of pull request #944 failed.

stdout:

Auto-merging stock_ux/__manifest__.py
CONFLICT (content): Merge conflict in stock_ux/__manifest__.py
Auto-merging stock_ux/models/stock_picking.py
CONFLICT (content): Merge conflict in stock_ux/models/stock_picking.py

Either perform the forward-port manually (and push to this branch, proceeding as usual) or close this PR (maybe?).

:shipit: you can use git-fw to re-do the forward-port for you locally.

⚠️ after resolving this conflict, you will need to merge it via @roboadhoc.

More info at https://github.com/odoo/odoo/wiki/Mergebot#forward-port

Agrega _check_serial_quantity_consistency en _sanity_check de
stock.picking para que la validacion de un remito con productos
trackeados por serial exija que la cantidad hecha coincida con la
cantidad de seriales asignados.

Odoo standard solo verifica que cada move line existente con
picked=True tenga su lote/serie, pero nunca reconcilia move.quantity
contra el conteo de seriales. Esto permitia remitir N unidades con
menos de N seriales (ej. 5 unidades, 4 seriales), dejando un movimiento
inconsistente imposible de retornar.

Usa abs(move.quantity) y != 0 para manejar cantidades negativas
(ajustes de inventario, devoluciones) sin falsos bloqueos.

Incluye fix adicional: _check_number_of_packages cambia de return
warning a raise UserError para mantener consistencia con el resto
de las validaciones.

X-original-commit: 184cd95
@jcadhoc jcadhoc force-pushed the 18.0-17.0-h-119570-jc-6398-fw branch from 59fecf3 to 2db5930 Compare June 18, 2026 13:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants