Overview
Report designer
Designer report Stimulsoft su route #/<route>/report-designer, integrato con metadata framework.
Screenshot reference (manuale utente)
manual__reporting__03.png: apertura report designer e struttura pannelli principali.manual__reporting__04.png: esempio datasource Stimulsoft precompilato dai metadati route.
Scope
- Disegno layout report (
.mrt) direttamente in UI. - Anteprima e salvataggio report associato alla route metadata.
- Supporto alla modifica iterativa senza export/import manuale del modello dati.
Pre-popolamento datasource da metadati
Quando apri il report designer, il backend prepara il datasource Stimulsoft usando i metadati della route corrente.
Flusso logico:
- risolve la route metadata (
_metadati__tabelle) e il relativo schema/tabella/query. - legge la definizione colonne (
_metadati__colonne) con nomi, tipi e proprietà rilevanti. - costruisce il datasource Stimulsoft con campi coerenti ai metadati applicativi.
- rende disponibili i campi nel pannello Dictionary del designer, già pronti per drag-and-drop nel report.
Risultato:
- riduzione attività manuale di mapping campi nel report designer.
- allineamento tra modello dati usato in list/grid e modello dati report.
- maggiore robustezza quando il report viene creato partendo da route metadata standard.
Creazione guidata: dialog di scelta template
Dal menubar amministrativo della lista (Report → Crea report) si apre un dialog che chiede il tipo di template e le colonne da includere prima di aprire il designer. Il file .mrt viene generato e salvato lato server (MetaService.scaffoldReport, riservato agli amministratori) in Reports/<route>/Report_YYYYMMDD_HHMMSS.mrt; il designer si apre poi sul file già pronto.
Template disponibili:
- Tabellare (bands): elenco a righe con intestazioni; le celle sono già popolate con le colonne selezionate (label in header, binding
{route.colonna}nella data band). Le route collegate (md_detail_grid_routes/md_nested_grid_routes) sono elencate come opzioni selezionabili — deselezionate di default — e generano le bande master-detail solo se spuntate, con le rispettive colonne. - Tabella pivot (crosstab): matrice righe × colonne con valore aggregato; il dialog chiede una o più colonne di riga, la colonna della dimensione orizzontale, la colonna valore e la funzione di aggregazione (Sum/Avg/Count/Min/Max).
- Raggruppato (cross-group): sezioni per valore di raggruppamento; il dialog chiede la colonna di raggruppamento, le colonne di dettaglio e totali di gruppo opzionali (colonna numerica + aggregazione).
Note:
- annullando il dialog non viene creato nulla; per gli utenti non amministratori (o in caso di errore) si apre il designer con il template storico a bande vuote.
- le colonne non selezionate restano comunque disponibili nel pannello Dictionary: la scelta filtra solo le celle generate.
Note operative
- Se aggiungi/rimuovi colonne metadata, riapri il report designer per rigenerare il dictionary.
- Il report usa i nomi campo metadata-driven: evita rename non coordinati lato metadati.
- Per scenari avanzati, puoi comunque integrare datasource personalizzati nel file
.mrt.
Screenshot

