Esempi
Esempi pratici di configurazione regole
In questa sezione vengono riportati esempi concreti di utilizzo delle regole di controllo sul modello Ordine di produzione (mrp.production) . Gli esempi mostrano sia configurazioni di base con condizioni AND, sia casi più avanzati con filtri Python e combinazioni di gruppi AND/OR.
1) Condizioni (AND/OR)
Tutte le regole riportate, hanno di default il gruppo Root con AND.
✦ Scadenza vicina/passata e senza quantità prodotta
Controllare gli ordini con scadenza passata o alla data odierna e senza quantità prodotte.
Campo | Operatore | Tipo valore | Sorgente valore | Valore |
Scadenza | <= | Date | Oggi (date) | |
Quantità in produzione | = | Integer | Valore literal | 0 |
✦ Scadenza entro lanella prossima settimana e non completati
Controllare gli ordini con scadenza nella prossima settimana (non mostra le passate) e senza quantità prodotte.
Campo | Operatore | Tipo valore | Sorgente valore | Valore | ||
Scadenza | >= | Datetime | Adesso (datetime) | - | ||
Scadenza | <= | Datetime | Python (safe_eval) | |||
Stato | in | Char/Testo | Python (safe_eval) | ['confirmed','progress','to_close'] |
✦ Non completati e con 5 o meno quantità rimanenti (rispetto al totale)
Controllare gli ordini non completati con un residuo da produrre di 5 quantità.
Campo | Operatore | Tipo valore | Sorgente valore | Valore |
Stato | not in | Char/Testo | Python (safe_eval) | ['done','cancel','draft'] |
Quantità in produzione |
1) Condizione AND - Valore numerico
Controllare che la quantità pianificata (product_qty) sia maggiore di 100.
2) Condizione AND - Valore data
Verificare che la data prevista di inizio (date_planned_start) sia successiva alla data odierna.
3) Condizione AND - Campo relazione
Controllare che il responsabile della produzione (user_id) sia valorizzato.
4) Filtro Python - Importo minimo
La produzione è valida solo se l’importo totale dell’ordine (amount_total) supera 1000 €.
record.amount_total > 1000
5) Filtro Python - Combinazione quantità e data
La regola è valida solo se la quantità pianificata è maggiore di 50 e la produzione inizia oggi.
record.product_qty > 50 and record.date_planned_start == fields.Date.today()
6) Filtro Python - Controllo stato
Validare solo le produzioni nello stato "confirmed" o "in_progress".
record.state in ["confirmed", "in_progress"]
7) Gruppi AND/OR - Controllo quantità o responsabile
La regola è valida se:
Condizioni AND → il prodotto è impostato e la quantità è maggiore di 10.Condizione OR → almeno una delle precedenti è vera, oppure il responsabile (user_id) è valorizzato.
8) Gruppi AND/OR - Data e quantità
La regola è valida se:
Gruppo AND→ la data di inizio è oggi e la quantità è superiore a 20.Gruppo OR→ in alternativa, la produzione è nello stato "confirmed".