Gestione documenti di produzione con architettura a plugin per i tipi di dettaglio. Controller MVP, import/gestione/dettaglio come frame indipendenti, stampa integrata FastReport e label designer.
Primo modulo sviluppato con pattern MVP completo. Il Controller gestisce la business logic; l'Host orchestra i frame tramite interfacce. I tipi di dettaglio (Tipo A, Tipo B) sono BPL separate che si registrano automaticamente.
type IDtoDocView = interface ['{A1B2C3D4-E5F6-7890-ABCD-EF1234567890}'] function GetSelectedCodart: string; function GetSelectedTipo: Integer; procedure RefreshGrid; procedure SetStatusText(const AText: string); function ConfirmAction(const AMessage: string): Boolean; end;
| Interfaccia | BPL | Scopo |
|---|---|---|
IFrameGestione | DtoMes_Documenti | Griglia principale documenti |
IFrameImport | DtoMes_Documenti | Importazione file/scanner |
IFrameWorkArea | DtoMes_Documenti | Area di lavoro documento |
IFrameArticoli | DtoMes_Prodotti | Anagrafica articoli |
IFrameDettaglioTipoA | DtoMes_DocTipoA | Dettaglio categoria A |
IFrameDettaglioTipoB | DtoMes_DocTipoB | Dettaglio categoria B |
IDtoDocView | DtoMes_Documenti | Comunicazione Controller → View |
Le interfacce permettono ai plugin dettaglio di essere BPL separate che si registrano a runtime senza modificare il codice del modulo. Aggiungere un nuovo tipo = creare una nuova BPL con la propria Registration.
Ogni modulo è una BPL indipendente, ma fanno parte dello stesso ecosistema.