Erstellen eines Reports mit FastReport
Inhaltsverzeichnis
1 Allgemeines
FastReport (engl. "Schneller Report") ist ein im Programm integriertes Programm zum Erstellen von Reports, Formularen und Etiketten.
- FastReport ist im Programm integrriert.
- Es ist schnell und leistungsfähig.
- Man muss nichts installieren! Kein .Net-Framework, kein Treiber, keine Runtime! Nur die Programmdateien im Rahmen des Auto-Updates kopieren, die Parameter einstellen: Fertig!
- Ganz nebenbei: FastReport kann Barcodes, QR-Code (Zusatzmodul), ohne zusätzliche Schriftart!
- Der ReportDesigner zum Ändern von Reports ist für Kunden mit Software-Wartungsvertrag kostenlos enthalten!
1.1 Der FastReport-Designer
- Der FastReport-Designer ist immer da!
Der FastReport-Designer ist im Programm eingebaut! Man benötigt also kein extra Programm dafür, der FastReport-Designer ist schon vorhanden, z.B.
- Mit dem Etiketten-Druck-Programm GEVITAS LabelPrint für REFLEX oder GEVAS-Professional werden Etiketten für Artikel gedruckt.
- Mit dem Formular-Druck-Programm GEVITAS FormPrint für REFLEX oder GEVAS-Professional werden Angebote, Lieferscheine, Rechnungen usw. gedruckt, exportiert oder per Mail verschickt.
- GEVITAS-Carnet benutzt FastReport zum Berucken des Formulars oder zum Drucken von Listen.
- Im Programm TPS werden Prüf-Protokolle und -Etiketten gedruckt, z.B. bei der Übernahme von Prüfdaten aus Schnittstellen
- Man benötigt allerdings das Zugriffsrecht "ReportDesigner", um den Designer öffnen zu können.
- FastReport kommt mit jedem Seitenformat zurecht!
Während manche andere Report-Programme Probleme mit kleinen Etiketten-Formaten haben, funktioniert das in FastReport unproblematisch.
- Der FastReport-Designer ist einfacher
Je nachdem, in welchem Formular man sich befindet, stellt der Report-Designer nur die Datenbank-Tabellen zur Verfügung, die für dieses Formular sinnvoll sind.
Zudem haben die Tabellen der Datenbank aussagekräftige Namen, unabhängig davon, wie sie in der Datenbank wirklich heißen.
- Beispiel
- Die Auftragstabellen heißen in der Datenbank MAUFKO, MAUFPO, MAUFFU usw.
- Im FastReport-Designer heißen diese Tabellen AuftragsKopf, AuftragsPositionen, AuftragsFuss usw.
1.2 Umsteigen von CrystalReports
Dieser Artikel zeigt, wie Sie von CrystalReports auf FastReport umsteigen können.
- Der Umstieg von CrystalReports auf FastReport kann Schritt für Schritt erfolgen!
- Man kann nach und nach die Reports für Angebot, Auftrag, Lieferschein, Rechnung usw. umstellen.
- Für die umstellende Person gibt es die Möglichkeit, unabhängig von den anderen Usern mit FastReport zu arbeiten, d.h. eine Person benutzt FastReport, während die Anderen noch mit CrystalReports arbeiten!
- Erst wenn ein bestimmtes Formular fertig getestet wurde, schaltet man dieses Formular für alle User auf FastReport um!
Die Checkliste für die Anpassung der Standard-Reports führt die einzelnen Schritte auf, mit denen man einen Standard-Report an die eigenen Anforderungen anpassen kann.
Die jeweils aktuelle Versionen der Reports können Sie hier downloaden.
2 Elemente eines Reports
Ein Report kann folgende Objekte beinhalten:
- Texte, z.B. für Überschriften, Feldbezeichnungen usw.
- Datenbank-Felder: Die Datenbank-Tabellen und -Felder stellt das Programm automatisch zur Verfügung, man muss also keine Datenbank-Kenntnisse haben, um einen Report zu erstellen.
- Linien, geografische Formen mit unterschiedlichen Stricharten; Dicke, Farbe usw. frei wählbar.
- Bilder mit allen gängigen Formaten
- Barcodes
- QR-Codes
- Formeln zur Berechnung von Werten, zum Ein-/Ausschalten von Objekten usw.
- Berechnungen, Summierungen
usw.
2.1 Bänder
FastReport ist ein "Band"-orientierter Report-Editor. Ein Band ("Streifen") ist ein bestimmter Bereich innerhalb eines Reports.
Ein Report ist also in Bänder (Bereiche) eingeteilt. Es gibt folgende Bänder:
- Reporttitel (ReportTitle)
- Dieser Bereich wird als erster ganz oben auf der ersten Seite (und nur da!) dargestellt.
- Reportzusammenfassung (ReportSummary)
- Dieser Bereich wird unten nach der Ausführung der Datenbänder ausgeführt.
- Seitenkopf (PageHeader)
- Dieser Bereich wird ganz oben auf allen Seiten dargestellt.
- Seitenfuß (PageFooter)
- Dieser Bereich wird ganz unten auf allen Seiten dargestellt.
- Kopf (Header)
- Dieser Bereich ist eine Überschrift über einem Daten-Band. Jedes Datenbank kann einen Kopf (und einen Fuß) haben! Der Kopf wird ausgeführt, bevor das Datenband ausgeführt wird. Wenn das Datenband mehrere Datensätze beinhaltet, werden zuerst ein mal der Kopf ausgeführt und danach alle Datensätze (und danach der Fuß, falls es einen gibt).
- Bitte der Kopf nicht mit einem Guppenkopf verwechseln! Der Guppenkopf wird wiederholt, wenn sich der Inhalt eines festgelegten Datenbank-Felds ändert.
- Fuß (Footer)
- Dieser Bereich wird unterhalb eines Daten-Bandes dargestellt. Jedes Datenbank kann einen Fuß (und einen Kopf) haben! Der Fuß wird ausgeführt, nachdem das Datenband ausgeführt wird. Wenn das Datenband mehrere Datensätze beinhaltet, werden zuerst alle Datensätze ausgegeben und danach der Fuß.
- Bitte der Fuß nicht mit einem Guppenfuß verwechseln! Der Guppenfuß wird wiederholt, wenn sich der Inhalt eines festgelegten Datenbank-Felds geändert hat.
- Masterdaten (MasterData)
- Hier stehen die Haupt-Daten des Reports. Jeder Report hat diesen Bereich. Wenn der Report eine einfache Liste darstellt, z.B. eine Artikel-Liste, stehen die Artikel-Datenbankfelder in diesem Bereich. Wenn der Report keine anderen Daten darstellen soll (z.B. Geräte zu jedem Artikel), hat er nur diesen einen Bereich.
- Soll der Report auch noch die Geräte-Daten zu jedem Artikel aufführen, gibt es noch einen Detaildaten-Bereich, in dem die Geräte-Datenbankfelder stehen.
- Detaildaten (DetailData)
- Wenn ein Report "Unter-Daten" zu einem "Hauptdatensatz" darstellen soll (z.B. Geräte zu einem Artikel), stehen hier stehen die untergeordneten Daten des Reports.
- Subdetaildaten (SubdetailData)
- Wenn ein Report "Unter-Daten" zu einem "Unter-Datensatz" darstellen soll (z.B. Prüfungen zu Geräten zu einem Artikel), stehen hier die dem Detailbereich untergeordneten Daten des Reports.
- Daten 4. Ebene
- Daten 5. Ebene
- Daten 6. Ebene
- Wenn ein Report weitere "Unter-Unter-Daten" zu einem "Unter-Datensatz" darstellen soll (z.B. Prüfdetails zu Prüfungen zu Geräten zu einem Artikel), stehen hier die dem Unter-Detailbereich untergeordneten Daten des Reports.
- Bis zu 6 Ebenen sind so möglich!
Achtung:
- Standardmäßig druckt FastReport das darüberliegende Band nicht, wenn es im darunterliegenden Band keine Daten gibt!! Siehe FastReport Tipps und Tricks.
- Gruppenkopf (GroupHeader)
- Ein Report kann in Gruppen dargestellt werden. Dies ist eine Alternative zu der Verwendung von Haupt-Detail-Daten. Normalerweise stellt das Programm die Master- und Detail-Daten automatisch zur Verfügung.
- Beispiel: Im Artikel-Report stellt das Programm automatisch die Kopfdaten des Carnets zur Verfügung und zu jedem Carnet die Carnet-Positionen.
Es kann jedoch auch Fälle geben, wo das Programm die Daten in jeweils einer Zeile zur Verfügung stellt, der Report diese Daten in bestimmten Gruppen darstellen soll. Dann kann man eine Gruppe (ein Datenbankfeld) festlegen, bei dem die Gruppe wechseln soll, beispielsweise die Artikelnummer.
- Es sind beliebig viele Gruppen und Untergruppen möglich!
- Der Gruppenkopf stellt die Daten der Gruppe am Anfang der Gruppe dar.
- Guppenfuß (GroupFooter)
- Der Gruppenkopf stellt die Daten der Gruppe am Ende der Gruppe dar.
- Spaltenkopf
- Ein Report kann in mehrere Spalten aufgeteilt werden, und mit diesem Band kann man einen Kopf für eine Spalte festlegen.
- Spaltenfuß
- Ein Report kann in mehrere Spalten aufgeteilt werden, und mit diesem Band kann man einen Fuß für eine Spalte festlegen.
3 Child-Bänder
Ein Child-Band wird verwendet, um einen Bereich (z.B. die Details) eines Reports ein- oder auszuschalten, abhängig von bestimmten Feld- oder Parameter-Werten.
Jedes Child-Band "gehört" zu dem darüber liegenden Band!
- Ein Master- oder Detail-Band kann ein Child-Band haben.
- Jedes Child-Band kann wiederum ein Child-Band haben.
Die Bänder sind also "kaskadiert":
- Ganz oben das Haupt-Band (Master- oder Detail-Band)
- Darunter das 1. Child-Band, das zu Hauptband gehört. Das Hauptband oben hat also in der Eigenschaft "Child" das 1. Child-Band.
- Darunter das 2. Child-Band, das zum 1. Child-Band gehört. Das 1. Child-Band hat also in der Eigenschaft "Child" das 2. Child-Band.
- Darunter das 3. Child-Band, das zum 2. Child-Band gehört. Das 2. Child-Band hat also in der Eigenschaft "Child" das 1. Child-Band.
Beispiel:
Band | Name | Child-Eigenschaft |
---|---|---|
Detail-Band | DetailPositionen | ChildTechniker |
1. Child-Band | ChildTechniker | ChildPosText |
2. Child-Band | ChildPosText | ChildZusatzText |
3. Child-Band | ChildZusatzText |
- Fehlerquelle
Eine Fehlerquelle wird im Beitrag Child-Band wird nicht gedruckt beschrieben.
3.1 Texte
z.B. für Überschriften, Feldbezeichnungen usw.
Diese werden in FastReport als sog. "Memo-Felder" bezeichnet. Ein Memo-Feld kann direkt ein Datenbank-Feld darstellen, konstanten Text, mehrere zusammengesetzte Datenbank-Felder, Formeln usw. Einem Memo-Feld kann eine Schriftart und -Größe zugewiesen werden, es kann links- oder rechtsbündig dargestellt werden oder zentriert. Außerdem kann einem Memo-Feld ein Rahmen an beliebigen Seiten definiert werden.
3.2 Datenbank-Felder
Die Datenbank-Tabellen und -Felder stellt das Programm automatisch zur Verfügung, man muss also keine Datenbank-Kenntnisse haben, um einen Report zu erstellen.
3.3 Linien, geografische Formen
Linien, Rechtecke usw. mit unterschiedlichen Stricharten; Dicke, Farbe usw. frei wählbar.
3.4 Bilder
Man kann alle gängigen Bild-Formate einfügen. Die Größe ist beliebig. Handelt es sich um eine hochauflösende Grafik, kann man die Qualität auf "hoch" setzen. Das erhöht zwar die Datei-Größe, verbessert aber die Darstellung der Grafik.
3.5 Barcode, QR-Code
FastReport kann standardmäßig mehrere Barcode-Typen darstellen.
QR-Code ist auch möglich, allerdings benötigt man dafür eine spezielle Lizenz.
3.6 Formeln
Zur Berechnung von Werten, zum Ein-/Ausschalten von Objekten usw.
4 Wie öffnet man den Designer?
Ganz einfach: Öffnen Sie den Programmteil, mit Sie einen Report drucken wollen, z.B. das Drucken einer Ladeliste. Öffnen Sie dazu in der Lagerausgabe einen Auftrag und klicken auf Ladeliste (bei manchen Kunden auch "Packliste").
Das Druckfenster öffnet sich und zeigt die vorhandenen Reports an.
Beispiel:
Klicken Sie auf den Report, den Sie ändern wollen. Dann klicken Sie auf den Button Designer. Der Designer für den ausgewählten Report wird geöffnet.
4.1 Zugriffsrecht
Wenn der Button bei Ihnen nicht sichtbar ist, so haben Sie kein Zugriffsrecht auf den ReportDesginer. Ihr REFLEX-/GEVAS-Professional-Admin kann Ihnen dieses Recht (mit dem Namen "ReportDesginer") ggf. einrichten.
5 Woher weiß der Designer, welche Daten er drucken soll?
Die Daten, die zu drucken sind, stellt das Programm automatisch zur Verfügung! Mann muss also keine ausführlichen Datenbank-Kenntnisse haben, um einen Report zu erstellen. Alle Felder, die für den jeweiligen Report relevant sind, "kennt" der Designer.
Beispiel:
Wenn man im Etiketten-Druck-Programm GEVITAS LabelPrint den Designer öffnet, stehen automatisch alle Daten aus der Artikel-Tabelle und der Einzelteil-Tabelle zur Verfügung.
6 Übersicht über das Designer-Fenster
Bereich | Beschreibung |
---|---|
1 | In dieser Leiste stehen verschiedene Buttons, mit denen man z.B. die Vorschau starten kann, die Formatierung festlegt usw. |
2 | In dieser Leiste stehen verschiedene Buttons, mit denen man z.B. die Schriftart wählen kann, die Ausrichtungfestlegt usw. |
3 | Hier wird die Struktur des Reports angezeigt. Man kann hier die Objekte des Reports (Bändern, Felder usw.) auswählen.
Da man das auch im Report selbst machen kann, ist der Baum nicht ganz so wichtig und man kann ihn auch schließen, um das Fenster übersichtlicher zu machen. Darunter, im Objekt-Inspektor werden die Eigenschaften des ausgewählten Elements angezeigt und geändert, z.B. das zugehörige Datenbank-Feld, die Farbe usw. Außerdem kann man hier auf die Ereignisse der Objekte zugreifen, um z.B. einen Programmcode zu schreiben, mit dem ein Objekt unter bestimmten Umständen ausgeblendet wird. Den Objekt-Inspektor kann man mit der Taste F11 ein- und ausschalten. |
4 | In dieser Symbol-Leiste stehen die möglichen Objekte für den Report, also z.B. ein Band, Textfeld, Linie, Barcode usw.
Um ein Objekt in den Report einzufügen, klickt man auf das gewünschte Symbol, fährt dann mit der Maus in den gewünschten Report-Bereich und klickt nochmal mit der linken Maustaste. Das Objekt wird dann an dieser Stelle eingefügt. |
5 | Hier steht das eigentliche Design des Reports, also die Bänder, Datenbank-Felder, Textfelder, Barcode-Felder usw. |
6 | Hier werden die möglichen Datenbankfelder angezeigt. Sie können ein Feld mit der Maus auf den Report ziehen. |
- Hinweis
- Sie können die Bereiche des Designers beliebig verschieben. Klicken Sie dazu auf die gepunktete Überschrift des Bereich und ziehen Sie den Bereich mit gedrückter Maustaste in ein anderes Gebiet.
7 Grundlegende Einstellungen des Reports
Thema und Link | Beschreibung |
---|---|
Seitenformat | Eine wichtige Einstellung eines Reports ist die Seitengröße und -Ausrichtung. Dazu klickt man mit der rechten Maustaste auf die Seite ("Page") und wählt "Seiteneinstellungen".
FastReport kann mit jeder nur denkbaren Seitengröße arbeiten! Dazu klickt man im Report-Bereich auf die Seiteneinstellung (standardmäßig "Page1") und stellt die Eigenschaft PaperSize auf die gewünschte Größe. Sie können die Papiergröße aus vordefinierten Einstellungen auswählen (z.B. "A4") oder "Benutzerdefiniert" einstellen. Wenn Sie "Benutzerdefiniert" auswählen, können Sie die Papierbreite und -Höhe mit den Eigenschaften "PaperHeight" (Höhe) und "PaperWidth" (Breite) in cm angeben. |
Daten, Tabellen und Felder | Das wichtigste des Reports sind die Daten, denn darum geht es ja.
Die Daten eines Reports kommen aus der Datenbank des Programms. Das Programm stellt dabei die Daten automatisch zur Verfügung, die für den Report benötigt werden. |
Bands (Bänder) | Ein Report wird eingeteilt in sog. "Bänder" (Bands).
Ein Band bestimmt, wo es gedruckt werden soll, z.B. gibt es ein Band für den Seitenkopf, eines für den Seitenfuß usw. |
8 Seite zu klein?
Wenn Ihr Report mehr Bänder enthält, als auf eine Seite passen, dann können Sie die Seite im (für den) Entwurfsmodus vergrößern:
Die Seite im Designer ist damit unendlich groß und Sie können so viele Bänder einfügen, wie benötigt werden!
9 Díe Druck-Programme
Wenn der/die Anwender/in im Programm auf Drucken oder Etikett klickt, wird (abhängig von den Einstellungen in den Programm-Parametern entweder das im Programm integrierte Druckfenster geöffnet oder das Druckprogramm mit FastReport gestartet.
- Für den/die Anwender/in sieht das so aus, asl ob einfach eine Fenster aufgeht.
- Das Druckprogramm bekommt von REFLEX bzw. GEVAS-Professional alle Informationen geliefert, die es benötigt, also die INI-Datei, z.B. die Auftragsnummer usw.
Es gibt diese Druck-Programme:
- GevitasFormPrint zum Drucken von Angeboten, Aufträgen, Lieferscheinen, Rechnungen, Bestellungen usw.
- GevitasLabelPrint zum Drucken von Etiketten.
- GevitasListPrint zum Drucken von Listen und Auswertungen.
10 Updates
Mit diesen Links kommen zu den Update-Beschreibungen der Druckprogramme, die mit FastReport funktionieren: