Stampe su Area-Report¶
Versione 1.0¶
Gestione dei report nata come evoluzione della stampa tramite Jasper.
Ha il vantaggio che tutta l'elaborazione viene fatta sul server "locale" (inteso anche come Saas) e quindi piu' veloce.
Necessita quindi dell'installazione del modulo "Area-reports", nelle due versioni "Linux" e "Windows", che devono essere presenti sulla sottocartella "EXT-MOD-DIR/area-report".
Funzionamento di massima - Sezione operativa¶
| Fase | Area | S3 | Web |
|---|---|---|---|
| Richiesta di stampa | L'utente entra in una funzione di stampa su Area, gia' predisposta per la stampa su Word/Area-report | ||
| Selezione modello | Si apre la DIALOG di selezione dei modelli (COGPA3). Il programma chiamante richiedera' direttamente di filtrare i modelli "Area-report". | ||
| Produzione XML | Viene innescato WORDMDL, come nel caso di stampa Word, che crea un XML formalmente corretto in locale | ||
| Esecuzione report | Viene invocato l'eseguibile "Area-reports" passando i parametri necessari. Il tutto lato "server" | ||
| Apertura | Il file PDF prodotto viene portato in locale ("PATH-APRI-FILE") e qui aperto direttamente tramite OPENFILE |
Si potra' poi prevedere la possibilita' di invio in stampa diretta, o di invio mail.
Base dati¶
Vedi schema "LucidChart"
Configurazioni necessarie¶
Le configurazioni di base da gestire sono:
| Gruppo | Parametro | Note |
|---|---|---|
| stampe | area-report-location | Indica se Area-Report e' accessibile lato server o lato client |
| stampe | area-report-path | Percorso dove cercare l'eseguibile Area-report. Se vuoto, viene assunto SYS-DIR/area-report |
| stampe | area-report-attivo | Abilitazione di Area-Report. Puo' essere definita come configurazione generale e gestire eccezioni per programma tramite la suddivisione |
| stampe | ar-versione-report | Versione e data del report da evidenziare, attribuibile a ciascun modello tramite l'ID nella suddivisione |
Sincronizzazione loghi aziendali¶
Area-Report stampa i documenti applicando due loghi aziendali: uno di "header" e uno di "footer". I loghi risiedono su Areagate e vengono scaricati in locale da SWN071, che li copia nella sottocartella logo di EXT-MOD-DIR. Il download avviene una volta sola per ogni esecuzione, indipendentemente dai modelli, e solo se la versione scaricata e' inferiore a quella attiva.
La sincronizzazione e' pilotata da quattro configurazioni del gruppo stampe:
| Parametro | Significato |
|---|---|
| ar-vers-att-header | Versione attiva del logo header (incrementata ad ogni upload su Areagate) |
| ar-vers-att-footer | Versione attiva del logo footer |
| ar-vers-dwn-header | Versione scaricata localmente del logo header |
| ar-vers-dwn-footer | Versione scaricata localmente del logo footer |
Il valore 0 indica logo non esistente o rimosso. Se ar-vers-dwn-* e' inferiore a ar-vers-att-* il logo viene scaricato; se entrambe le versioni "dwn" sono a 0, STIMUTIL non effettua la copia in locale dei loghi.
Progettazione nuove classi di report¶
Questa sezione e' simile a quella che si realizza per i report classici in WORD, ma prevede alcune fasi in piu'.
| Fase | Area | S3 | Web |
|---|---|---|---|
| Definizione classe | Tramite GESMDSTS si aggiunge il nome della classe (corrispondente al nome programma), si definiscono le tabelle di dettaglio necessarie e il loro contenuto. La classe viene memorizzata sulle tabelle | ||
| Esportazione classe | Direttamente in fase di aggiornamento della fase precedente, l'applicazione esporta le tabelle necessarie | ||
| Creazione "id report" | Ora su Areagate e' possibile generare uno o piu' id report, a seconda delle esigenze. Per ciascun report verranno popolate le tabelle | ||
| Pubblicazione modello | Il modello dovra' essere pubblicato, ovvero reso visibile per l'ambiente di sviluppo su cui si sta operando. Questo permette l'importazione del modello | ||
| Sincronizzazione modelli | Tramite SWN071, il modello viene importato sull'ambiente di sviluppo | ||
| Attivita' di programmazione | Nel frattempo si puo' modificare il programma in modo da poter effettuare la generazione dell'XML | ||
| Creazione prototipo XML | Ora e' possibile eseguire il programma, selezionando il modello "Area-report" se necessario (se ce ne e' uno solo verra' selezionato manualmente). Questo file XML potra' essere passato al responsabile della progettazione su "Stimulsoft" | ||
| Progettazione modello | Su STIMULSOFT viene effettuata la progettazione del layout del modello e il collegamento con i campi del file XML. Successivamente si dovra' aggiornare la pubblicazione del modello per l'ambiente di sviluppo | ||
| Reimportazione modello | Tramite SWN071, il modello viene importato sull'ambiente di sviluppo | ||
| Test definitivo | A questo punto eseguendo il programma il modello dovrebbe essere riproducibile da programma | ||
| Sincronizzazione su altri DB | Tramite una apposita operazione, si dovra' effettuare la sincronizzazione del modello sugli altri db (kpngate.es2000.it) |
Progettazione modello di report per una classe¶
Disegno nuovo report: Su Jasper si progetta un modello e viene generato un file JRXML che contiene le direttive. Il modello conterra': - Tag singoli - Tabelle
Salvataggio modello standard: Una apposita funzione su AREAGATE permettera' la creazione del modello. Si crea un record su ARPMODST2 con le seguenti caratteristiche:
| Dato | Contenuto |
|---|---|
| A-MDC-AZI | |
| A-MDC-PROG | Codice progressivo auto-increment |
| A-MDC-TIP | Classe di documento; corrisponde in linea di massima al nome del programma che lato gestionale produce il file XML |
| A-MDC-PERTINENZA | " " |
| A-MDC-ANA | " " |
| A-MDC-DES | Descrizione modello |
| A-MDC-PATH | Percorso completo del file JRXML (lato server Jasper) |
| A-MDC-TIPO-PATH | "L" |
| A-MDC-LNG | Lingua a cui e' associato il modello (?) |
| A-MDC-BRAND | " " |
| A-MDC-FL-AGG | " " |
| A-MDC-VAL | " " |
| A-MDS-DATETIME | timestamp del record |
| A-MDC-MODEL | "gen" (?) |
| A-MDC-SKM-ORIGINE | " " |
| A-MDC-SKM-MODELLO | " " (?) |
| A-MDC-PRESENZA-CHECKLIST | " " |
Si creano "n" record su ARPMODDT: ognuno corrisponde alla configurazione di una tabella presente nel modello:
| Dato | Contenuto |
|---|---|
| A-MDD-AZI | A-MDC-AZI |
| A-MDD-PROG-MODELLO | A-MDC-PROG |
| A-MDD-PROG-DET | A-MDSD-PROG |
| A-MDD-COMPOSIZIONE | Stringa che contiene i codici di colonna scelti dall'utente, separati da ";". Il numero di campi deve corrispondere alle colonne previste nel modello Jasper per questa tabella |
| A-MDD-FL-AGG | " " |
| A-MDD-FL-CANC | " " |
| A-MDD-ID-SINCRO | 0 |
Analisi e troubleshooting¶
Query SQL sui modelli installati dai clienti¶
Le query che seguono interrogano le tabelle arpreportcli (report per azienda cliente) e arpmodst2 (anagrafica modelli). Il filtro sul codice programma (a_mdc_tip) va adattato al programma da analizzare (nell'esempio COGP64).
Solo modelli custom
SELECT a_mdc_des, a_mdc_tip, arpc_agg_app, *
FROM arpreportcli, arpmodst2
WHERE arpc_azienda = a_mdc_azi
AND arpc_cogmodst_prog = a_mdc_prog
AND a_mdc_tip = 'COGP64';
Tutti i modelli (standard + custom)
SELECT a_mdc_des, a_mdc_tip, arpc_agg_app, *
FROM arpreportcli, arpmodst2
WHERE (arpc_azienda = a_mdc_azi AND arpc_prog = a_mdc_prog AND a_mdc_tip = 'COGP64')
OR (a_mdc_azi = ' ' AND arpc_prog = a_mdc_prog AND a_mdc_tip = 'COGP64');
Tutti i modelli per una singola azienda
SELECT a_mdc_des, a_mdc_tip, arpc_agg_app, *
FROM arpreportcli, arpmodst2
WHERE ((arpc_azienda = a_mdc_azi AND arpc_prog = a_mdc_prog AND a_mdc_tip = 'COGP64')
OR (a_mdc_azi = ' ' AND arpc_prog = a_mdc_prog AND a_mdc_tip = 'COGP64'))
AND arpc_azienda = 'C04010';
Estratto da documentazione interna ClickUp