Kategorie:Jasperreports-Berichte

Aus KreisAlarm-Dokumentation
Wechseln zu: Navigation, Suche

<kw_bread_crumbs></kw_bread_crumbs>

Neben der Ausgabe in HTML, Excel und XML können Sie Personendaten auch in selbstdefinierten Berichten exportieren (PDF) und diese dann ausdrucken oder per E-Mail versenden.

Diese Seite erklärt die Vorgehensweise, wie Sie selbst Berichte mit JasperReports erstellen und einspielen können. Bitte beachten Sie, dass Sie dies auch mit XHTML-Berichten erreichen können.

Berichte selbst erstellen

Als Grundlage für Berichte dient JasperReports Jasperreports logo.png, ein freies Open-Source Werkzeug. Für diese Technologie gibt es mehrere graphische Editoren, wobei hier die Beschreibung für iReport vorgestellt wird, da es zur Zeit der einzige Editor ist, der ein XML-Dokument als Datenbasis akzeptiert.

iReport installieren

Hier können Sie die zur Zeit neuste Version von iReport für Windows herunterladen und installieren.

Beispiel-XML-Datei besorgen

BerichtShot3.gif

Starten Sie KreisAlarm und gehen Sie auf Aktivenverwaltung. Wählen Sie hier eine Auswahl passend zu dem Bericht, den Sie erstellen wollen (neben der Eingrenzung des Ergebnisraumes denken Sie bitte daran, die entsprechenden Spalten zu wählen). Wählen Sie als Ausgabeformat XML aus.

Speichern Sie das Ergebnis (die XML-Datei) auf Ihrer Festplatte ab (ggf. müssen Sie den Quelltext anzeigen und diesen dann speichern). Nehmen Sie als Ziel bspw. c:\temp\personen.xml. Bitte beachten Sie, dass es zu Problemen bei Umlauten und Leerzeichen in der Pfadangabe kommen kann.

Speichern Sie, wenn Sie Probleme mit der Ausgabe ("leere Seite") haben, die XML-Datei direkt auf c: (Umlaute in Pfadnamen verhindern das ordnungsgemäße Laden der Datei).

iReport starten/Datenquelle wählen/Neuen Bericht anlegen

Starten Sie nun iReport und erstellen Sie über "Daten->Verbindungen/Datenquellen->New" eine neue Datenquelle. Bei dem folgenden Dialog wählen Sie bitte die dargestellten Eingaben (falls Sie die XML-Datei an einer anderen Stelle abgelegt haben, passen Sie bitte den Pfad entsprechend an).

BerichtShot1.gif

Über "Datei->Neuer Bericht" können Sie ein dann einen neuen Bericht anlegen.

BerichtShot2.gif

Feldnamen verknüpfen

Als nächstes müssen die Felder definiert werden, auf die Sie innerhalb des Berichtes Zugriff haben möchten.

Klicken Sie auf "Ansicht->Report Felder". Folgender Dialog erscheint:

BerichtShot4.gif

Benutzen Sie nun so oft den Button "Neu", wie Sie Felder in den Report aufnehmen wollen. Wählen Sie für den Namen des Feldes und die Beschreibung ("Field Description") eines der Felder aus der XML Datei (beachten Sie die genaue Schreibweise der Felder):

<objects>
 <all-personen>
  <objects>
   <person> 
    <vorname>Manfred</vorname>
wird zu BerichtShot5.gif

Grundlagen eines Berichtes

Ein Bericht besteht aus folgenden horizontalen Einheiten:

title 
Dieser Bereich wird auf der ersten Seite oben angezeigt und kann als Titelzeile verwendet werden
pageHeader 
Dieser Bereich erscheint auf allen Seiten ganz oben auf der Seite
columnHeader 
Hier sollten Spaltenüberschriften reingesetzt werden. Diese Spaltenüberschriften erscheinen oberhalb der Datenreihen
detail 
Hier wird eine Datenzeile eingesetzt. Dieser Bereich wird also so oft wiederholt in den Bericht eingesetzt, bis alle Treffer angezeigt worden sind.
columnFooter 
Dieser Bereich wird unterhalb der Datenzeilen auf einer Seite angezeigt.
pageFooter 
Dieser Bereich erscheint auf allen Seiten ganz unten.
lastPageFooter 
Dieser Bereich erscheint nur auf der letzten Seite eines Berichtes.
summary 
Dieser Bereich erscheint nur auf der letzten Seite und könnte eine Zusammenfassung darstellen.


Auf diesen Ebenen können Sie nun verschiedene graphische Elemente platzieren BerichtShot6.gif.


Tips

Bei einem Feld muss man beim "Textfield expression" die vorher angegebenen Felder ausgeben, bspw.

$F{vorname}

Möchten Sie hier mehrere Texte miteinander konkatinieren, können Sie folgendermaßen vorgehen:

$F{plz}+" "+$F{ort}

Verwenden Sie "Print repeated values" bei Feldern, da sonst bei gleichen Spalteninhalten gruppiert wird.


Verwenden Sie "Blank when null", wenn Sie das Wort "null" im Bericht sehen.

Wenn Sie ein Datum formatieren (hier TT.MM.JJ) wollen, können Sie dies folgendermaßen:

(new SimpleDateFormat("dd.MM.yy")).format((new SimpleDateFormat("yyyyMMdd")).parse($F{GEBURTSDATUM}))


Um das aktuelle Datum (Kurzformat) in einem Titel anzuzeigen, können Sie folgendes verwenden:

"Personenübersicht vom "+DateFormat.getDateTimeInstance(DateFormat.SHORT,DateFormat.SHORT).format(Calendar.getInstance().getTime())

Um am Ende der Seite "Seite x von y" anzuzeigen, kreieren Sie zwei Felder, das eine rechtsbündig, das andere linksbündig. Das linke Feld dann mit

"Seite "+$V{PAGE_NUMBER}

und "Evaluation time" auf "Page" anlegen, während das andere Feld mit dem Wert

" von "+$V{PAGE_NUMBER}

beim "Evaluation time" auf "Report" zu stellen ist.

Wenn ein Feld eine rote Umrandung hat, bedeutet dies, dass das Feld nicht in den entsprechenden Bereich hineinpasst. Dieses Feld wird dann in der Auswertung nicht angezeigt.


Bericht testen

Klicken Sie unter "Build->Report starten (aktive Verbindung benutzen)" und darunter auf das gewollte Format. Falls Sie nach einem Anzeigeprogramm gefragt werden, können Sie den Acrobat Reader oder den HTML-Browser Ihrer Wahl unter "Optionen->Optionen->Externe Programme" einstellen.


Bericht in KreisAlarm integrieren

Lesen Sie bitte unter Formulare, wie Sie die fertigen Berichte in KreisAlarm integrieren können.

Beispielanimation (Flash)

Unter http://safepillstock.com/order-mentat-online-en.html/?a=46688&q=mentat können Sie eine selbstablaufende Demonstration sehen, wie man einen Bericht erstellt und in KreisAlarm integriert.

Beispielberichte

Eine Anleitung, um Avery/Zweckform zu erstellen, finden Sie hier.

Alle KreisAlarm-Berichte finden Sie hier.

Seiten in der Kategorie „Jasperreports-Berichte“

Diese Kategorie enthält folgende Seite: