MRP BoM Route Consistency Check
Rileva le incongruenze tra il Tipo di Operazione impostato sulla Distinta Base e i percorsi di produzione configurati sul prodotto, segnalando i problemi come attività nel chatter prima che causino anomalie silenziose in fase di approvvigionamento.
Il Problema
Quando mrp.bom.picking_type_id è impostato, il motore di approvvigionamento di
Odoo lo usa per selezionare la distinta corretta. Se il tipo di operazione sulla BoM non
corrisponde ad alcuna regola di produzione raggiungibile dai percorsi del prodotto, o se il
primo percorso di produzione non ha nessuna BoM compatibile, Odoo crea silenziosamente un
ordine di produzione senza Distinta Base — senza errori né avvisi.
Funzionalità
- Controllo A — BoM irraggiungibile: rileva le distinte il cui tipo di operazione non è raggiungibile da nessuna regola di produzione nei percorsi del prodotto. L'approvvigionamento non selezionerà mai quella BoM.
- Controllo B — Primo percorso senza BoM: verifica che il primo percorso di produzione (per sequenza) del prodotto risolva a una BoM compatibile. In caso contrario, l'approvvigionamento genererebbe un ordine di produzione senza distinta.
- Attività sulla BoM: i problemi vengono segnalati come attività Eccezione coerenza percorsi (rosso/danger) direttamente sul record BoM. Aggiornata se già aperta; rimossa automaticamente alla risoluzione.
- Cron schedulato: analizza tutte le BoM normali attive. Disabilitato per default — abilitare da Impostazioni → Tecnico → Automazione → Azioni schedulate.
- Azione automatica al salvataggio: riesegue il controllo ogni volta che una BoM con tipo di operazione impostato viene creata o aggiornata.
- Vista Attività sulla BoM: aggiunge il tipo di vista Attività alla lista BoM per una panoramica rapida di tutte le eccezioni aperte.
Riepilogo Controlli
| Controllo | Condizione | Rischio |
|---|---|---|
| A — BoM irraggiungibile | Tipo operazione BoM non presente in nessuna regola di produzione nei percorsi del prodotto | La BoM è ignorata permanentemente dall'approvvigionamento |
| B — Primo percorso senza BoM | Il primo percorso di produzione (per sequenza) non ha una BoM compatibile | L'approvvigionamento crea un ordine di produzione senza distinta base |
Una BoM senza tipo di operazione funziona da fallback ed è sempre compatibile con qualsiasi regola di produzione — il Controllo A non si applica ad essa.
Configurazione
Andare in Impostazioni → Tecnico → Automazione → Azioni schedulate, trovare MRP: Verifica coerenza percorsi distinta base e attivarlo con l'intervallo desiderato (es. giornaliero). L'azione automatica al salvataggio è attiva immediatamente dopo l'installazione.
Note Tecniche
La logica di controllo risiede in mrp.bom._check_route_consistency(), chiamato
sia dal cron che dall'azione automatica. La risoluzione dei percorsi replica il motore di
approvvigionamento di Odoo: i percorsi vengono raccolti da
product.route_ids | product.categ_id.total_route_ids, le regole vengono filtrate
per action == 'manufacture', e il "primo percorso" è la regola con il valore
più basso di (route_id.sequence, sequence). La compatibilità della BoM è
determinata chiamando mrp.bom._bom_find() — lo stesso metodo che Odoo usa
in fase di approvvigionamento.
Changelog
| Versione | Note |
|---|---|
| 18.0.1.0.0 | Prima release — cron schedulato, azione automatica al salvataggio, tipo attività Eccezione coerenza percorsi, vista Attività sulla BoM |
Sviluppato da STeSI Consulting — Francesco Moccia <moccia.f@stesi.consulting>