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)
✦ 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 la prossima settimana e non completati
Campo | Operatore | Tipo valore | Sorgente valore | Valore | ||
Scadenza | <= | Datetime | Python (safe_eval) | |||
Stato | in | Char/Testo | Python (safe_eval) | ['confirmed','progress','to_close'] |
1) Condizione AND - Valore numerico
Controllare che la quantità pianificata (product_qty
) sia maggiore di 100.
Campo | product_qty |
Operatore | > |
Tipo valore | float |
Sorgente valore | literal → 100 |
2) Condizione AND - Valore data
Verificare che la data prevista di inizio (date_planned_start
) sia successiva alla data odierna.
Campo | date_planned_start |
Operatore | > |
Tipo valore | date |
Sorgente valore | today |
3) Condizione AND - Campo relazione
Controllare che il responsabile della produzione (user_id
) sia valorizzato.
Campo | user_id |
Operatore | is set |
Tipo valore | many2one |
Sorgente valore | - |
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.
Gruppo 1 (AND) | Campo: product_id / Operatore: is set Campo: product_qty / Operatore: > / Valore: 10 |
Gruppo 2 (OR) | Campo: user_id / Operatore: is set |
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".
Gruppo 1 (AND) | Campo: date_planned_start / Operatore: = / Valore: today Campo: product_qty / Operatore: > / Valore: 20 |
Gruppo 2 (OR) | Campo: state / Operatore: in / Valore: confirmed |