Die Druckfunktionalitäten in CURSOR-CRM/EVI
Grundlagen
In jeder Maske der Anwendung erzeugt der Drucken-Schalter eine automatisierte Druckausgabe. In der Listensicht wird eine Druckausgabe erzeugt und in der Detailsicht eine andere. Man muss nicht unbedingt einen Jasper-Report erstellen, um aus einer Maske drucken zu können, weil CURSOR-CRM/EVI standardmäßig Layout und Inhalt der gesamten Maske ausdruckt. Wenn man beim Drucken eine andere Darstellung wünscht, dann muss man einen Jasper-Report erstellen und mit dem Drucken-Schalter verknüpfen. Das Geschäftspartnerportrait ist ein solcher Report. Er ist mit dem Drucken-Schalter der Maske 'Geschäftspartner' verknüpft.
Verwendung eines Reports zum Drucken aus einer CURSOR-CRM/EVI-Maske
Die folgenden Einstellungen bestimmen, ob und wie der Report zum Drucken verwendet wird:
![](../../../__attachments/10684476/Jasper-Drucken.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Haupttabelle: Name der Haupttabelle (oder Hauptentität) der Hauptsuche. Der Report kann nur in der Maske dieser Entität zum Drucken genutzt werden.
Drucken-Schalter: bestimmt, ob der Bericht überhaupt zum Drucken genutzt wird.
Standard-Maskenreport: der Report wird in der Detailsicht zum Drucken genutzt.
Standard-Listenreport: der Report wird in der Listensicht zum Drucken genutzt.
Damit ein Report zum Drucken verwendet werden kann, muss das Primärschlüsselfeld der Hauptentität in der Hauptsuche vorkommen.
Zur Laufzeit beim Drucken generierte Reports
Wenn für das Drucken aus der Masken- oder Listenansicht kein eigener Report angelegt wurde, dann erzeugt CURSOR-CRM/EVI in dem Augenblick, in dem der Anwender den Drucken-Schalter betätigt, einen einfachen Report, der das momentane Layout der Maske wiedergibt.
Im Fenstertitel von JasperViewer wird der Titel des aktuellen Reports angezeigt (z.B. Standardauswertung für Mitarbeiter, Telefonliste etc.).
Masken-Reports
JasperReports hat ebenfalls wie die Masken des GUI-Builders ein Pixel-Layout. Dadurch kann eine Maske fast 1:1 vom Layout übertragen werden. Jeder Feldtyp wird in JasperReports als eigener Stil abgebildet. So ergibt sich ein Stil für normale Textfelder, für Zahlenfelder mit oder ohne Dezimalstellen, Datumsfelder mit Zeitangabe oder ohne und Nachschlagefelder.
Die Breite der Maske wird auf die Pixelanzahl einer DIN A4 Seite im Querformat umgerechnet. Es wurde darauf geachtet, dass die Beschriftungen in der Regel genügend Platz erhalten. Bei der Positionierungen der Komponenten werden auch die Informationen aus den umliegenden Registern und Rahmen (Panels) berücksichtigt.
Die Register werden untereinander dargestellt. Wobei der Bereich immer vollständig auf einer Seite angezeigt wird. Da JasperReports eine maximale Länge einer Seite vorgibt, werden alle Register ab der 2. Lasche als Unterreports umgesetzt.
Im Gegensatz zu den Feldern auf der Maske muss der Text im Report vollständig ausgegeben werden, da auf einem Blatt Papier die Scrollbalken fehlen. Dadurch kann der Inhalt eines einzeiligen Feldes schon mal in mehreren Zeilen ausgegeben werden. Z.B. wenn die Beschreibung in einem Nachschlagefeld sehr umfangreich ist. Auch bei Editorfeldern wie der Text einer Notiz werden alle Zeilen ausgegeben, was der Report entsprechend verlängern kann.
Der Schlüssel im Nachschlagefeld wird mit eckigen Klammern eingefasst ganz analog zur Darstellung in der Listeansicht, falls Schlüssel und Beschreibung angezeigt werden.
Die Darstellung von Bildern wird auch unterstützt, wobei die Größe an das Layout des Reports angepasst ist. Die Darstellung wird nicht verzerrt.
![](../../../__attachments/10684476/787px-JasperReports-Standardauswertung-fuer-Mitarbeiter.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Für einige Felder werden auch die Formate aus den Maskeneinstellungen übernommen:
Ausrichtung bei normalen Textfeldern und Zahlenfeldern
Einheit bei Zahlenfeldern
Die Anzeige des Zeitfeldes bei Datumsfeldern
Die Anzeige des Beschreibungsfeldes bei Nachschlagefeldern
Kontrollkästchen) und Auswahl-Schalter (Radio-Button) werden als Text Ja bzw. Nein in der jeweiligen Sprache dargestellt. Auch der HTML-Text aus dem Editorfeld der Aktivität wird formatiert dargestellt. Die HTML-Darstellung in Beschriftungen wird nicht unterstützt. Bei der Darstellung von HTML werden von JasperReports nur wenige HTML-Tags unterstützt. Tabellen oder spezielle Aufzählungen können nicht bzw. nur sehr eingeschränkt dargestellt werden.
Die Ausgabe erfolgt im JasperViewer, so dass der Benutzer die Möglichkeit hat, die Auswertung in ein beliebiges Format zu exportieren oder zu drucken.
Listenreports
Aus der Listenansicht im Hauptfenster und in der Suchergebnis-Liste im Suchfenster, kann die Tabelle mit JasperReports gedruckt werden. Alle Daten der Tabelle werden mit den Spalten als Überschrift im Report ausgegeben.
Die Gesamtbreite der Tabelle wird auf die Breite einer DIN A4 Seite im Querformat umgerechnet. Daraus ergibt sich auch die Breite jeder Spalte, wobei die relative Breite jeder Spalte aus den Benutzereinstellungen für die Tabelle übernommen wird. Auch die Reihenfolge der Spalten wird aus der Tabelle ausgelesen. Da die Daten direkt aus der Tabelle gelesen werden, wird auch die Sortierreihenfolge der Tabelle übernommen.
![](../../../__attachments/10684476/800px-JasperReports-Standardauswertung-fuer-Mitarbeiter2.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Mit dem Spaltenfilter können die Daten in der Tabelle eingeschränkt werden. Dies wirkt sich auch direkt auf den Report aus. Da die meisten Tabellen zu viele Spalten enthalten, die meist vom Anwender nicht beachtet werden, ist für die Daten im Report oft zu wenig Platz. Es ist ratsam, sich die unnötigen Spalten über das Kontextmenü der Tabelle ausblenden zu lassen. So werden auch nur die notwendigen Daten im Report gedruckt.
![](../../../__attachments/10684476/800px-JasperReports-Kopfzeile1.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Mit der Systemeinstellung für Zusätzliche Details für Selektionskriterien wird der Spaltenfilter in die Selektionskriterien übertragen. Die Report-Vorlage kann entsprechend angepasst werden, um den Parameter $P{SelectionCriteria} im Titel oder der Zusammenfassung des Reports anzuzeigen. Werden Listen-Daten im Unterbereich gedruckt, wird deren übergeordneter Satz mit dessen ID-Feldern angezeigt.
![](../../../__attachments/10684476/800px-JasperReports-Kopfzeile2.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Wie bei den Maskenauswertungen werden auch hier einige Feldeinstellungen in die Auswertung übernommen. Bei Nachschlagefeldern, kann der Schlüssel, die Beschreibung oder beides angezeigt werden. Auch die Einheit für Zahlenfelder, dessen Nachkommastellen und die Darstellung des Tausender-Trennzeichens wird in die Darstellung übernommen.
Die Ausgabe erfolgt im Hauptfenster auch im JasperViewer. Nur in der Suchmaske erfolgt ein Export direkt als PDF. Der Grund liegt im modalen Suchfenster, was die Anzeige und Weiterverarbeitung der Auswertung im JasperViewer blockieren würde.