Passa al contenuto

MRP Stock Move Reserve - Should Consume Qty

In Odoo standard, un Ordine di Produzione con domanda totale di, ad esempio, 10 unità prova a riservare le materie prime per tutte e 10 — anche quando l'operatore sta producendo soltanto 2 in questo momento. Questo modulo allinea la riserva dei componenti al ciclo di produzione corrente, così i materiali prelevati a piano fabbrica corrispondono a quello che si sta davvero realizzando.

A chi è rivolto

Aziende manifatturiere che lavorano Ordini di Produzione lunghi in cicli successivi e vogliono che ciascun ciclo prelevi solo la sua quota di materiali, lasciando il resto al backorder.

Come funziona

  • Ogni volta che l'operatore modifica la Quantità in Produzione, le righe componente vengono riallineate al fabbisogno reale del ciclo.
  • La quantità riservata su ciascun componente è limitata a quanto il ciclo consumerà — mai di più.
  • Quando l'ordine viene splittato in un backorder, sia l'originale che il backorder hanno righe componente coerenti e allineate al ciclo.
  • Funziona in modo trasparente: nessuna opzione da abilitare, nessuna schermata nuova. Installato il modulo, ogni OP in corso si comporta subito così.

Il risultato: il magazzino preleva esattamente ciò che serve al ciclo in corso — niente sovra-riserva, niente correzioni manuali, nessuna sorpresa sul backorder.

0,00 € 0,00 €

 Per maggiori info sui nostri moduli non esitare a contattarci

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.quantity a should_consume_qty ad ogni assegnazione, split di backorder o modifica di qty_producing.
  • Reazione ai cambi di qty_producing — i movimenti già picked con 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

  1. Installare il modulo.
  2. Aprire un OP con materie prime; impostare qty_producing minore di product_qty e validare. Le righe componente mostrano la sola domanda del qty_producing; il resto va sul backorder.
  3. Modificando qty_producing su un OP in corso, le riserve e il flag picked si riallineano automaticamente.

Note tecniche

Override sul modello mrp.production:

  • _set_qty_producing() — su un record reale il cui qty_producing è cambiato, smarca i movimenti con should_consume_qty/quantity non allineati e richiama _action_assign() prima di delegare a super().
  • _split_productions() — dopo super(), 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() — limita move.quantity = min(move.should_consume_qty, move.quantity) sui movimenti materia prima dell'OP.
  • _check_quantity_to_set_picked() — marca picked = True sui movimenti con should_consume_qty == quantity (e > 0).
  • _action_assign() — dopo super(), 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>