Visualizzazione post con etichetta jasper server. Mostra tutti i post
Visualizzazione post con etichetta jasper server. Mostra tutti i post

martedì 26 maggio 2009

JasperServer e iReport: Inserimento delle immagini nei report

Per la prima volta oggi mi sono trovato a dover gestire l'inserimento di immagine statiche in un report. Come al solito è stato il solito delirio per riuscire a trovare una risposta.
I manuali sono sempre molto poco ricchi e spiegano spesso male o in maniera incompleta le procedure.

Ad ogni modo siamo arrivati ad una risposta.

Innanzitutto le immagini possono essere caricate come risorsa legata al singolo report oppure inserita nella Cartella Images della Repository di JasperServer.

Ci verranno chiesti un nome per la risorsa, una label e una breve descrizione.

Una volta caricato il file non ci resta che legarlo nel report.
Aggiungiamo quindi un oggetto immagine nel layout delle immagini e per linkarlo all'immagine caricata entriamo nel cammpo Expression e qui usiamo la seguente sintassi:
"repo:nome_risorsa"
Ora il nostro report visualizzarà correttamente l'immagine.
Buon lavoro a tutti. Alla prossima difficoltà.

Wsc

lunedì 16 marzo 2009

JasperServer e iReport: linkare i report tra di loro

Utilizzando Google Analytics ho notato che all'interno del mio blog gli articoli più interessanti per il pubblico siano quelli incentratti sull'argomento Jasper Server e iReport.

Altra funzione che ho usato ultimamente è la possibilità di poter linkare tra loro diversi report.
iReport ci permette di inserire dei link legati ai vari oggetti che compongono il nostro template. Si possono precificare delle URL e quindi possiamo linkare tra loro report già realizzati.

Si procede molto velocemente creando un capo di testo. Dalle "Proprietà" dell'oggetto si sceglie la linguetta "Link ipertestuale" e quindi è possibile inserire il link al report.
Di solito i link ai report sono di questo tipo:
http://NOME_SERVER/jasperserver/flow.html?_flowId=viewReportFlow&reportUnit=/reports/NOME_REPORT&standAlone=true&ParentFolderUri=/reports
Quindi è sufficiente dopo aver deciso la tipologia del link (nel nostro caso Blank e Reference) indicare nella linguetta "Riferimento" l'indirizzo.
Da notare che è anche possibile passare dei parametri se il report destinazione lo prevede passati del report chiamante.
Nel qualcaso un'esempio di link potrebbe essere questo:
"http://NOME_SERVER/jasperserver/flow.html?_flowId=viewReportFlow&reportUnit=/reports/NOME_SOTTOCARTELLA_REPORT/NOME_REPORT&standAlone=true&ParentFolderUri=/reports/NOME_SOTTOCARTELLA_REPORT&SelectFromDateTime="+$V{SelectFrom_STRING}+"&SelectToDateTime="+$V{SelectTo_STRING}
La parte in neretto ci consente di passare ai parametri del report chiamato SelectFromDateTime e SelectToDateTime i valori delle Variabili $V{SelectFrom_STRING} e $V{SelectTo_STRING}.
In questo caso stiamo passando delle date con ora per cui dovendo passare un text alla stringa dell'indirizzo abbiamo usato la seguente espressione per formattarle:
new java.text.SimpleDateFormat("yyyyMMddHHmmss").format($P{SelectFromDateTime})
Come potete vedere a loro volta le variabili erano state costruite da uno dei parametri immessi nel report chiamante.

Spero che anche questa spiegazione sia utile. Se qualcosa non fosse chiaro usate i commenti per porre delle domande.
Alla prossima.

Wsc

giovedì 5 febbraio 2009

JasperServer e iReport: formattare le date

Era un problema con cui mi sono scontrato per un bel po' di tempo...
Avevo bisogno di riformattare le date, usate come parametro, nella creazione di un report da usare all'interno di un campo di tipo String.

Purtroppo tra la scarsa documentazione online su iReport e il poco tempo a disposizione ha lasciato aperta questa problematica per qualche mese.
Fortunatamente l'altro giorno avendo il tempo di mettere insieme un paio di idee sono riuscito a trovare la soluzione.

Il primo passo per giungere al risultato voluto è stato dato dal fatto che qualsiasi funzione aggiuntiva può essere scritta in Java. Però io non conosco questo linguaggio e non mi è rimasto altro che iniziare a googlare (neologismo per effettuare ricerche sul web con google).
Quindi scopro che esiste la seguente funzione SimpleDateFormat.
Non mi resta che indicare la tipologia di formattazione voluta (utilizzo quella italiana "dd/MM/yyyy") e l'oggetto sul quale voglio applicare la funzione (stavo utilizzando un parametro $P{SelectDay} ma la cosa si può applicare anche ai campi del dataset).
A voi il risultato finale:

"Testo fisso del campo "+new SimpleDateFormat("dd/MM/yyyy").format($P{SelectDay})

Spero possa essere d'aiuto a chi si trovasse con la mia stessa problematica.
Alla prossima.

Wsc