Skip to content

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

Closed
jcadhoc wants to merge 1 commit into
ingadhoc:17.0from
adhoc-dev:17.0-h-119570-jc
Closed

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

Conversation

@jcadhoc

@jcadhoc jcadhoc commented Jun 9, 2026

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

@roboadhoc

Copy link
Copy Markdown
Collaborator

Pull request status dashboard

@jcadhoc jcadhoc force-pushed the 17.0-h-119570-jc branch 3 times, most recently from a016774 to 9b992d5 Compare June 9, 2026 16:22
@mav-adhoc mav-adhoc force-pushed the 17.0-h-119570-jc branch 3 times, most recently from 86dd4ac to 44453fa Compare June 17, 2026 15:23
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.
@mav-adhoc

Copy link
Copy Markdown
Contributor

@roboadhoc r+ nobump

roboadhoc pushed a commit that referenced this pull request Jun 17, 2026
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.

closes #944

Signed-off-by: Matias Velazquez <mav@adhoc.com.ar>
@roboadhoc roboadhoc closed this Jun 17, 2026
@roboadhoc roboadhoc deleted the 17.0-h-119570-jc branch June 17, 2026 18:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants