MRP MPS Fast Search
Cache indicizzata degli stati di rifornimento per filtri MPS istantanei.
Il Problema
Il modulo nativo mrp_mps calcola lo stato di rifornimento di ogni
riga di pianificazione al momento della query. Ogni volta che un utente applica
un filtro come Da rifornire, Rifornimento insufficiente o
Rifornimento eccessivo, Odoo carica tutte le righe, chiama
get_production_schedule_view_state() sull'intero set e per ogni
prodotto percorre la distinta base, interroga movimenti di stock e righe d'ordine
d'acquisto. Su database con migliaia di righe questo può richiedere
decine di secondi o più.
Soluzione
Tre campi booleani indicizzati vengono aggiunti a mrp.production.schedule
per memorizzare lo stato di rifornimento pre-calcolato:
| Campo | Significato |
|---|---|
cache_has_to_replenish |
Almeno un periodo necessita di rifornimento |
cache_has_under_replenishment |
Almeno un periodo è sotto il minimo |
cache_has_excessive_replenishment |
Almeno un periodo ha rifornimento eccessivo |
Funzionalità
- Toggle nelle impostazioni — abilita/disabilita la ricerca rapida per azienda in Produzione → Impostazioni
- Cron automatico — cache aggiornata ogni ora, attivata/disattivata automaticamente con il toggle
- Aggiornamento manuale — Produzione → Pianificazione → MPS: Aggiorna cache stati rifornimento
- Fallback trasparente — quando il flag è disabilitato, il comportamento nativo viene ripristinato
- Compatibile con
mrp_mps_demand_mode
Configurazione
- Installare il modulo.
- Andare in Produzione → Impostazioni → Piano di Produzione Master e abilitare Ricerca Rapida.
- Eseguire MPS: Aggiorna cache stati rifornimento manualmente la prima volta.
- Il cron orario mantiene la cache aggiornata automaticamente.
Changelog
| Versione | Data | Note |
|---|---|---|
| 18.0.1.0.0 | 2026-04-21 | Prima release |
Sviluppato da STeSI Consulting — Francesco Moccia <moccia.f@stesi.consulting>