Gestione completa del ciclo produttivo: dalla distinta componenti ai barcode, dall'evasione ordini alla registrazione ore. Pattern MVP con Presenter separato dalla View, 30 query censite, MemoryLens integrato.
Il Presenter non ha dipendenze VCL. La View non accede ai dati. La comunicazione avviene tramite eventi tipizzati: il Presenter è riutilizzabile con una futura View HTML.
UProdTypes
UProdQueryNames
UProd_QueryProvider
UProd_DistintaPresenter
30 query · ML capture
UFrProdDistinta
cxGrid · Barcode input
procedure TProdDistintaPresenter.AggiornaDistinta; begin FQueryProvider.ExecSQL( FQueryProvider.GetSQL(QRY_PROD_AGG_DIST), [LQta, LIdProd]); // MemoryLens: cattura azione utente (graceful) TMLHelper.CaptureAction(ML_MODULE, 'AggiornaDistinta', Format('{"idprod":%d,"qta":%d}', [LIdProd, LQta])); if Assigned(FOnDistintaLoaded) then FOnDistintaLoaded(Self, FQryDistinta, LCount); end;
Caricamento distinta da stored procedure. Aggiornamento quantità, note per riga, differenze con il database. Griglia con colorazione condizionale.
Lettura con input dedicato. Assegnazione automatica alla produzione. Conteggio barcode non assegnati. Campionatura e matricola.
Pallet con capacità configurabile. Evasione ordini, conferma, chiusura e stampa pallet. Storico bancali per lotto.
Registrazione ore per team e utente. Ore produzione, cambio formato, altri tempi. Presenze per centro di costo con storico.
Calcolo in tempo reale: barcode disponibili, pezzi prodotti, da completare, bancale corrente. Record con 11 contatori.
Ogni azione catturata via TMLHelper. Anomalie segnalate automaticamente (distinta vuota, barcode insufficienti). Errori con exception class e stack.
Ogni query ha un nome costante. Nessuna stringa SQL hardcoded nei Presenter. Il QueryProvider centralizza l'accesso ai dati.
| Area | Query | Scopo |
|---|---|---|
| Lotto | prod_lotto_q | Carica lotto per ID |
| Distinta | prod_distinta_q | Distinta componenti per produzione |
| Distinta | prod_aggdist_q | Aggiorna qtaprod distinta |
| Barcode | prod_barcode_q | Barcode per lotto/produzione |
| Evasione | prod_dett103_q | Dettagli ordine per articolo |
| Pallet | prod_pallet_q | Pallet attivo per team |
| Ore | prod_presteam_q | Presenze team per produzione |
Mostrate 7 su 30. Il set completo include storico, seriali, note team e pianificazione.
Produzione e Pianificazione condividono ProdTools e lo stesso Host.