MRP Stock Move Reserve — Should Consume Qty
Riserva solo ciò che verrà consumato nel ciclo di produzione corrente sui componenti dell'Ordine di Produzione, invece dell'intera richiesta dell'ordine.
Panoramica
In Odoo standard, quando un OP ha product_qty = 10 e
l'operatore imposta qty_producing = 2, i movimenti delle
materie prime riservano comunque le quantità per tutte e 10. L'operatore
vede righe componente dimensionate sulla richiesta totale, anche se nel
ciclo corrente vengono prodotte solo 2 unità.
Questo modulo allinea la quantità riservata (move.quantity)
sui movimenti materia prima alla quantità realmente necessaria al ciclo
corrente (move.should_consume_qty), riconcilia il flag
picked e riattiva la riserva ogni volta che
qty_producing cambia.
Funzionalità
- Cap di
move.quantityashould_consume_qtyad ogni assegnazione, split di backorder o modifica diqty_producing. - Reazione ai cambi di
qty_producing— i movimenti giàpickedcon quantità non allineata vengono smarcati e ri-assegnati automaticamente. - Fix dello split — dopo
_split_productions, sia l'OP originale che i backorder hanno righe componente coerenti. - Scatenato da base automation — l'hook scatta su ogni
create/write di
qty_producing, anche quelle programmatiche di altri moduli.
Configurazione
Nessuna configurazione richiesta. Il comportamento è attivo per ogni OP non appena il modulo viene installato.
Utilizzo
- Installare il modulo.
- Aprire un OP con materie prime; impostare
qty_producingminore diproduct_qtye validare. Le righe componente mostrano la sola domanda delqty_producing; il resto va sul backorder. - Modificando
qty_producingsu un OP in corso, le riserve e il flagpickedsi riallineano automaticamente.
Note tecniche
Override sul modello mrp.production:
_set_qty_producing()— su un record reale il cuiqty_producingè cambiato, smarca i movimenti conshould_consume_qty/quantitynon allineati e richiama_action_assign()prima di delegare asuper()._split_productions()— doposuper(), chiama_fix_quantity_on_move()e_check_quantity_to_set_picked()sui movimenti materia prima di tutte le produzioni risultanti.
Override/helper sul modello stock.move:
_fix_quantity_on_move()— limitamove.quantity = min(move.should_consume_qty, move.quantity)sui movimenti materia prima dell'OP._check_quantity_to_set_picked()— marcapicked = Truesui movimenti conshould_consume_qty == quantity(e > 0)._action_assign()— doposuper(), applica il cap e l'aggiornamento del flag picked.
Automazione: un record base.automation innesca il server
action automation_trigger_qty_producing (che chiama
_set_qty_producing(False)) ad ogni create/write di
qty_producing su un OP non in
draft / cancel / done.
Dipende da mrp.
Changelog
| Versione | Note |
|---|---|
| 18.0.0.5 | README, descrizione web e traduzioni italiane. |
| 18.0.0.4 | Fix dell'azione automatica su qty_producing. |
Sviluppato da STeSI Consulting — Michele Dicroce <dicroce.m@stesi.consulting>, Francesco Moccia <moccia.f@stesi.consulting>