In questo articolo vi mostrerò come generare dei report di matrice personalizzati, utilizzando Looc.UP e il designer grafico di Jasper Report,

L’idea è di organizzare opportunamente i dati visualizzati dalla matrice, salvare questa organizzazione in un modello grafico, modificarlo tramite un designer grafico (come da immagine sotto) e richiamarlo per effettuare le stampe. Vediamo come.

Prendiamo ad esempio una matrice contente l’elenco degli articoli di un’azienda. Applichiamo un raggruppamento per classe materiale, ordiniamo gli articoli per descrizione e impostiamo una totalizzazione. Il risultato di queste operazioni è visualizzato nell’immagine sottostante.

Creazione del template

Eseguiamo la stampa cliccando sul pulsante relativo:

e avendo l’accortezza di definire percorso e nome del modello con estensione jrxml da inserire nel tab “Tecnica” del setup di stampa. Il consiglio che vi do è di creare una cartella dedicata per questi modelli, preferibilmente una per matrice da stampare, e di assegnare ad essi un nome sufficientemente parlante per facilitarne la successiva ricerca.

Questa procedura effettuerà la stampa in PDF della matrice visualizzata sopra. Qui sotto vediamo una parte del pdf prodotto.

Lo scopo di questo passaggio in realtà non è tanto produrre la stampa, ma generare il modello che andrà rimaneggiato opportunamente per personalizzarla.

Da notare che le operazioni che abbiamo svolto sulla matrice sono solo di visualizzazione (ordinamento, raggruppamento, totali…) per definire una struttura che andrà poi applicata ai dati della matrice, quindi, in questa fase, qualsiasi operazione sui dati, ad esempio di filtro, è superflua.

Modifica del template con iReport 1.3.3

Per modificare il modello bisogna utilizzare l’editor di iReport versione 1.3.3 scaricabile a questo indirizzo:

https://www.smeup.com/public/media/content_documents/loocup_downloads/utility/iReport-1.3.3-windows-installer.zip

Procediamo quindi ad editare il modello jrxml per personalizzare la stampa.

Notiamo che nel modello sono stati agganciati tutti i campi presenti nell’xml di matrice, ma anche variabili tipiche di Looc.UP. Questo lo si può vedere andando in Mostra – Campi del report.

Inoltre i campi sono tutti quelli dell’xml di matrice per cui ci sono anche colonne che nella matrice sono nascoste e che si possono visualizzare in Looc.UP con la combinazione di tasti Ctrl+F10. Quindi le modifiche al template oltre ad essere “estetiche” (font, colori, aggiunta logo…), possono essere anche “sostanziali” di aggiunta di campi.

Vi riporto qualche indicazione di utilizzo dell’editor iReport 1.3.3 senza la pretesa di essere esauriente. Nel caso vogliate approfondire l’argomento vi rimando alla documentazione specifica al seguente link.

https://www.smeup.com/public/media/content_documents/loocup_downloads/utility/ireport-guide-eng_1.3.0.zip

Come si può vedere nell’immagine sottostante l’editor si struttura in una parte centrale contenente il modello della stampa, a sinistra due riquadri riportanti rispettivamente i file aperti e la struttura del documento e sulla destra un riquadro riportante le proprietà dell’oggetto selezionato.

Tra le proprietà dell’oggetto, che ovviamente cambiano a seconda del tipo di oggetto selezionato, segnalo quelle che ritengo le più utili:

  • dimensioni dell’oggetto;
  • font del testo con relative dimensioni, colore, allineamento e colore dello sfondo;
  • contenuto dell’oggetto, tenendo presente che questo dato può essere anche una formula. I campi vengono richiamati con $F{nome_campo}, ad esempio $F{A§CLPR}, mentre le variabili vengono indicate con $V{nome_variabile}, ad esempio $V{PLGO1};
  • tipologia del dato/formula;
  • espressione booleana che determina quando stampare il dato;
  • flag indicante se stampare il dato se a zero o vuoto.

Esecuzione della stampa personalizzata

Riprendendo la matrice di partenza dobbiamo effettuare la stampa con il modello modificato. Per far ciò clicchiamo sul relativo pulsante e nel setup inseriamo due informazioni: una è il modello da utilizzare nel tab “Documento”, l’altra è la disabilitazione della creazione automatica del dettaglio nel tab “Pagina”, questa disabilitazione è necessaria affinché la stampa eviti automatismi e replichi la struttura del modello. Eventualmente il setup può essere salvato tramite la gestione dei setup di stampa.

Nell’immagine sottostante potete vedere il PDF risultante dal modello modificato.

Da notare che le colonne in violetto contengono dati che non venivano visualizzati nella matrice originaria, ma che vengono comunque passati al modello e quindi possono essere inseriti e gestiti.

Questa gestione delle stampe personalizzate è naturalmente in continua evoluzione, implementazioni future potrebbero essere la visualizzazione, al momento della stampa, dei modelli disponibili e, una volta selezionato il modello, la disabilitazione contestuale della gestione automatica del dettaglio.