MRP Project Timesheet
Ponte tra Ordini di Produzione e Fogli Ore di Progetto in Odoo 18. Collega gli ordini di produzione ai task di progetto tramite il gruppo di approvvigionamento, abilitando il tracciamento dettagliato di manodopera e costi macchina e la rivalutazione automatica delle scorte.
Funzionalità
Progetto e Distinta Base
- Flag Usa per Produzione su
project.project: solo i progetti con questo flag possono essere collegati agli OdP. - Campi Service Tracking + Progetto su
mrp.bom, resi obbligatori via@api.constrains(compatibile con upgrade).
Ordine di Produzione
- Smart button Task, scheda Fogli Ore, campi Service Tracking / Progetto ereditati dalla DiBa.
- Campi di costo calcolati: costo DiBa, costo DiBa atteso, costo componenti.
- Alla conferma: creazione automatica di un task per gruppo di approvvigionamento; gli OdP successivi sullo stesso gruppo riutilizzano il task esistente.
Task di Produzione
- Gruppo di Approvvigionamento, Prodotto (
product_mrp_id), smart button Ordini di Produzione e Valutazione. - Azione Aggiorna Prezzi Stimati da DiBa (menu ingranaggio): forza il ricalcolo di tutti i Costi Attesi.
- Badge Stato Registrazione (Postato / Da Postare / Errore) basato sul delta tra valori postati e correnti.
- Badge Cost Delta a 5 colori (azzurro / giallo / verde / arancione / rosso) su
(effettivo − atteso) / atteso × 100; soglie configurabili. - Negli stati chiusi i Costi Attesi sono congelati; lo stato
03_approvedè vietato via@api.constrains. - Sincronizzazione automatica dello stato dagli stati degli OdP collegati; scadenza automatica = max(
date_finished) degli OdP done. - Vincolo di unicità: un task per gruppo di approvvigionamento;
unlinkbloccato se ci sono OdP non annullati (i duplicati legacy restano cancellabili). - Scheda Analisi Costi Produzione con gruppi Costi Attesi / Costi Effettivi affiancati e selettore Unità di Analisi (solo amministratori, propagazione ai task fratelli).
- Scheda Tempi Macchina con righe editabili di tempo macchina per centro di lavoro.
Righe di Foglio Ore
- Colonna Produttività OdL: tempo di produttività del centro di lavoro per dipendente sugli OdP collegati.
- Rettifica Manuale (
unit_amount) rinominata per i task di produzione. - Tempo Totale (
total_duration_production) =unit_amount + productivity_durationcon scrittura inversa.
Gruppo di Approvvigionamento
- Campi di aggregazione costi (
total_ts_amount,total_machine_amount,component_cost,bom_cost, ...). - Azione Posta a Magazzino: rivaluta il prodotto tramite
stock.valuation.layer.revaluation; vengono inclusi solo i layer conremaining_qty > 0; in caso di errore il savepoint registra il messaggio nel chatter. - Form a notebook: Analisi Costi Produzione / Registrazione / Tempi Macchina; badge Cost Delta + Stato Registrazione riusati da
project.task. component_costletto dastock.valuation.layer.valuesui movimenti raw done: rispetta il metodo di costing, sicuro in multi-azienda.
Tempo Macchina, Ordine di Lavoro, Dipendente, SVL
- Nuovo modello
mrp.machine.timeper centro di lavoro / gruppo di approvvigionamento con durata prevista, effettiva e manuale e campi di costo. - Flag Dipendenti Esterni sull'ordine di lavoro.
- Booleano Esterno su
hr.employee+ suffisso[External]sul display name. - Costo DiBa Atteso on-the-fly su
stock.valuation.layer.
Calcolo Costo DiBa
bom_cost/task_bom_costdelegano aproduct._compute_bom_price()× q.tà OdP: piena coerenza con il report Panoramica DiBa di Odoo.- Switch Costo DiBa Ricorsivo (default OFF): se ON, le sub-DiBa dei semilavorati vengono espanse ricorsivamente.
- Sicuro in multi-azienda: ogni lettura di
standard_priceè incapsulata inwith_company(). - Breakdown stimato (macchina / interni / esterni) con scaling lineare
q.tà / bom_qty, coerente con il totale.
Imballaggio Prodotto
- Unità per UoM Base: imballaggi sub-base, moltiplicatore interno sicuro per arrotondamento.
- Predefinito per Analisi Costi: marca l'unità di analisi di default per prodotto (esclusivo).
Report Analisi Costi Produzione
- Pivot / grafico / lista in Produzione → Reportistica → Analisi Costi Produzione, aperto sul filtro Chiusi.
- Misure: Costo DiBa, Costo Totale, Varianza, Varianza Unitaria, manodopera macchina / interna / esterna (attesa vs effettiva), q.tà, ore macchina, q.tà e costi unitari in unità di analisi.
- Colonna Cost Delta Status + 5 filtri rapidi (Risparmi Eccessivi / Risparmio / In Linea / Sforamento / Forte Sforamento).
- Group-by: task, progetto, prodotto, codice prodotto, categoria, stage, stato registrazione, Cost Delta Status, mese/trimestre della scadenza.
Azioni Amministrative e Crons One-shot
- Azioni admin sulle liste: Chiudi Task con Tutti gli OdP Done, Trova Task Duplicati per Gruppo di Approvvigionamento, Crea Task di Produzione, Sincronizza Scadenza dall'Ultimo OdP Completato.
- Crons one-shot (disabilitati di default, si auto-disabilitano dopo l'esecuzione): Ricalcola Costi DiBa, Ricalcola Cost Delta Status, Sistema Stati Task Bloccati.
Integrazione Menù Produzione
- Nuovo menù Produzione → Operazioni → Task di Produzione: vista lista primary dedicata (widget stato, titolo, prodotto, progetto, assegnatari, azienda, prossima attività, etichette, stato registrazione, stato delta costi). Si apre già raggruppato per Stato.
Dipendenze
| Modulo | Scopo |
|---|---|
base_automation | Azioni automatizzate |
project | Task e fogli ore |
mrp | Ordini di produzione, DiBa, ordini di lavoro |
stock_account | Stock valuation layer e rivalutazione |
hr_timesheet | Righe analitiche / fogli ore |
Changelog
| Versione | Note |
|---|---|
| 18.0.0.74 | Vista lista primary dedicata per il menù Task di Produzione (stato, titolo, prodotto, progetto, assegnatari, azienda, prossima attività, etichette, stato registrazione, stato delta costi). La vista condivisa project.view_task_tree2 non viene più sovrascritta a livello globale. |
| 18.0.0.73 | Fix traduzione IT dei badge Cost Delta su form task e gruppo di approvvigionamento (blocco msgid HTML che combina span inline adiacenti). |
| 18.0.0.72 | Unificazione di msgid Product duplicati e traduzione dell'etichetta product_mrp_id; ref form PG sulle traduzioni dei badge. |
| 18.0.0.71 | Rispettare mrp_pt_force_recompute_done nei tre guard PG-level su task chiusi: il cron one-shot Ricalcola Costi DiBa riallinea anche i PG chiusi. |
| 18.0.0.70 | Sostituire il calcolo BOM cost ricorsivo in-house con un wrapper su product._compute_bom_price standard; breakdown stimato passato a scaling lineare q.tà / bom_qty. |
| 18.0.0.69 | Switch Costo DiBa Ricorsivo + helper su mrp.bom con protezione anti-ciclo. |
| 18.0.0.68 | Cron Ricalcola Costi DiBa estesa anche a component_cost di OdP e PG. |
| 18.0.0.67 | Calcolo di component_cost da stock.valuation.layer.value sui raw moves done (rispetta il metodo di costing, multi-company nativo). |
| 18.0.0.66 | Fix multi-company: ogni lettura di standard_price incapsulata in with_company(). |
| 18.0.0.65 | Auto-impostazione di date_deadline task = max(date_finished) degli OdP done sulla transizione a Changes Requested; azione admin per back-fill. |
| 18.0.0.64 | Azione admin Crea Task di Produzione sulla lista mrp.production. |
| 18.0.0.63 | Azione admin Trova Task Duplicati per Gruppo di Approvvigionamento. |
| 18.0.0.62 | Possibilità di cancellare uno fra più task duplicati sullo stesso PG (escape hatch per legacy). |
| 18.0.0.61 | Azione admin Chiudi Task con Tutti gli OdP Done. |
| 18.0.0.60 | Form gruppo di approvvigionamento riorganizzato a notebook (Analisi Costi / Registrazione / Tempi Macchina); badge correlati al task sul form PG. |
| 18.0.0.59 | Cost Delta: misura Varianza Costo Unitario sul report; badge colorato sulla lista task; skip se atteso o effettivo = 0; campo Cost Delta state + 5 filtri rapidi sul report. |
| 18.0.0.58 | Stato 03_approved vietato sui task di produzione; cron Sistema Stati Task Bloccati esteso. |
| 18.0.0.57 | Campi DiBa obbligatori via @api.constrains (upgrade-safe); aggiunta cron one-shot Sistema Stati Task Bloccati. |
| 18.0.0.56 | Vincolo di unicità: un task per PG; unlink bloccato sui PG con OdP attivi; action_confirm salta la creazione se il task esiste già. |
| 18.0.0.55 | default_code esposto sul report Analisi Costi Produzione. |
| 18.0.0.54 | Fix OwlError sulla lista packaging (column_invisible contro campo record-level). |
| 18.0.0.53 | Due switch master: Abilita Cost Delta e Abilita Conversione Packaging; workaround per persistenza Boolean config_parameter. |
| 18.0.0.52 | Propagazione Unità di Analisi ai task fratelli; modifica riservata al gruppo System; Group By → Task sul report. |
| 18.0.0.51 | Unità di Analisi sui task da product.packaging; units_per_base_uom + is_default_for_cost_analysis; nuovo menù Task di Produzione; fix segno Cost Delta. |
| 18.0.0.50 | Widget Cost Delta sul task (scala a 5 colori) + soglie configurabili. |
| 18.0.0.44 | Azione Aggiorna Prezzi Stimati da DiBa; fix costi stimati esterni; freeze Costi Attesi nei task chiusi; stato post errore con savepoint. |
| 18.0.0.42 | Smart button Valutazione sul task. |
| 18.0.0.38 | Sincronizzazione automatica stato task dagli OdP; cron auto-post ogni 4 ore; badge post_value_needed; rinomina Rettifica Manuale. |
| 18.0.0.15 | Prima release. |
Sviluppato da STeSI Consulting — Francesco Moccia <moccia.f@stesi.consulting>