Erstellen eines Reports mit FastReport: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Links)
(Tipps und Tricks)
 
(83 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
[[Datei:GEVITAS_Icon_2017_oben_rechts.png|rechts]]
 
== Allgemeines ==
 
== Allgemeines ==
  
'''FastReport''' (engl. "Schneller Report") ist Programm zum Erstellen von Reports, Formularen und Etiketten. Der '''FastReport-Designer''' ist dabei im Programm eingebaut! Man benötigt also kein extra Programm dafür, der '''FastReport-Designer''' ist schon vorhanden, z.B. im Etiketten-Druck-Programm '''GEVITAS LabelPrint''' oder in [[GEVITAS-Carnet]].
+
'''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!
 +
 
 +
Ab Programm-Release 18009xx wird die FastReport©-Engine Vers. 6 verwendet. Einzelheiten dazu werden in '''[[FastReport 6]]''' beschrieben.
 +
 
 +
Zur Durchführung einer Schulung für FastReport© gibt es '''[[FastReport Schulungsplan|hier]]''' einen '''[[FastReport Schulungsplan|Schulungsplan]]''' als Leitfaden.
 +
 
 +
 
 +
=== 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.
 +
* [http://www.tps-software.de 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.
 +
: (Siehe [[Migration_CrystalReports_zu_FastReport#Recht_f.C3.BCr_den_Report-Designer|Zugriffsrecht Report-Designer]])
 +
 
 +
 
 +
 
 +
;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.
  
FastReport kommt mit jedem Seitenformat zurecht! Während manche andere Report-Programme Probleme mit kleinen Etiketten-Formaten haben, funktioniert das in FastReport recht unproblematisch.
 
  
 
=== Umsteigen von CrystalReports ===
 
=== Umsteigen von CrystalReports ===
Zeile 9: Zeile 51:
 
'''[[Migration CrystalReports zu FastReport|Dieser Artikel]]''' zeigt, wie Sie von CrystalReports auf FastReport umsteigen können.
 
'''[[Migration CrystalReports zu FastReport|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 '''[http://www.gevitas.de/reports_und_formulare.html hier]''' downloaden.
  
=== Elemente eines Reports ===
+
== Elemente eines Reports ==
  
 
Ein Report kann folgende Objekte beinhalten:
 
Ein Report kann folgende Objekte beinhalten:
Zeile 25: Zeile 75:
 
usw.
 
usw.
  
=== Bands ===
+
=== Bänder ===
  
[[Datei:FastReport_Bands_Grafik.png|miniatur]]
+
'''FastReport''' ist ein "Band"-orientierter Report-Editor. Ein Band (In CrytsalReports "Bereich" oder "Sektion" genannt) ist ein bestimmter '''Bereich''' innerhalb eines Reports.
'''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:
 
Ein Report ist also in Bänder (Bereiche) eingeteilt. Es gibt folgende Bänder:
  
;Reporttitel
+
[[Datei:FastReport_Bands_Grafik.png|1024px]]
 +
 
 +
Jedem Band ist eine Tabelle (genannt "DataSet") zugeordnet, damit FastReport weiß, ob das Band nur einmal gedruckt werden soll, (z.B. dem Auftragskopf) oder mehrfach (z.B. die Auftragspositionen).
 +
 
 +
 
 +
==== Was ist ein Dataset? ====
 +
 
 +
Vereinfacht gesagt kann man sich ein DataSet vorstellen als eine Tabelle der Datenbank, z.B. Auftragskopf, Auftragspositionen, Artikel usw.
 +
 
 +
Das ist aber nur die halbe Wahrheit:
 +
 
 +
*Ein Dataset ist eine Datenbank-Abfrage von einer oder mehrerer Tabellen der Datenbank.
 +
*Das Druckprogramm verknüpft dabei mehrer Datenbank-Tabellen miteinander zu einer Abfrage, also zu einem DataSet.
 +
*Zum Beispiel enthält das Dataset "Auftrag.Positionen" auch Felder aus den Artikel-Stammdaten.
 +
 
 +
 
 +
==== Band-Typen ====
 +
 
 +
;Reporttitel (ReportTitle)
 
:Dieser Bereich wird als erster ganz oben auf der '''ersten Seite''' (und nur da!) dargestellt.
 
:Dieser Bereich wird als erster ganz oben auf der '''ersten Seite''' (und nur da!) dargestellt.
  
;Reportzusammenfassung
+
;Seitenkopf (PageHeader)
 
 
;Seitenkopf
 
 
:Dieser Bereich wird ganz oben auf '''allen Seiten''' dargestellt.
 
:Dieser Bereich wird ganz oben auf '''allen Seiten''' dargestellt.
  
;Seitenfuß
+
;Seitenfuß (PageFooter)
 
:Dieser Bereich wird ganz unten auf '''allen Seiten''' dargestellt.
 
:Dieser Bereich wird ganz unten auf '''allen Seiten''' dargestellt.
  
;Kopf
+
;Reportzusammenfassung (ReportSummary)
:Dieser Bereich ist eine Überschrift über einem Daten-Band.
+
:Dieser Bereich wird unten nach der Ausführung der Datenbänder ausgeführt.
 +
 
 +
;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 Band ausgeführt wird. Wenn das Band 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).
  
;Fuß
+
:Bitte der Kopf nicht mit einem Guppenkopf verwechseln! Der Guppenkopf wird wiederholt, wenn sich der Inhalt eines festgelegten Datenbank-Felds ändert.
:Dieser Bereich wird unterhalb eines Daten-Bandes dargestellt.
 
  
;Masterdaten
+
* [[REFLEX_Standard-Report_Angebot/Auftrag#HeaderPositionen.2C_.C3.9Cberschrift_.C3.BCber_die_Positionen|Beispiel]]
 +
 
 +
 
 +
;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.
 +
 
 +
* [[REFLEX_Standard-Report_Angebot/Auftrag#Fuss:_Summen.2C_Zahlung.2C_Text|Beispiel]]
 +
 
 +
 
 +
;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.
 
: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 Detail-Bereich, in dem die Geräte-Datenbankfelder stehen.
+
: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.
 +
 
 +
* [[REFLEX_Standard-Report_Angebot/Auftrag#Der_Auftagskopf|Beispiel]]
 +
 
  
;Detaildaten
+
;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.
 
: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
+
* [[REFLEX_Standard-Report_Angebot/Auftrag#Positionen|Beispiel]]
 +
 
 +
 
 +
;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.
 
: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.
  
Zeile 65: Zeile 148:
 
:Bis zu 6 Ebenen sind so möglich!
 
:Bis zu 6 Ebenen sind so möglich!
  
;Gruppenkopf
+
<big>'''Achtung:'''</big>
 +
*Standardmäßig druckt FastReport das darüberliegende Band '''nicht''', wenn es im darunterliegenden Band '''keine Daten''' gibt!! Siehe [[FastReport Tipps und Tricks: Child-Band wird nicht gedruckt|Child-Band wird nicht gedruckt]].
 +
 
 +
 
 +
;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.  
 
: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.
+
:Beispiel: Im Auftragsformular-Report stellt das Programm automatisch die Kopf- und Fussdaten des Auftrags zur Verfügung und zu jeder Position die Positionsdaten.
  
 
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 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.
Zeile 74: Zeile 161:
 
:Der Gruppenkopf stellt die Daten der Gruppe am Anfang der Gruppe dar.
 
:Der Gruppenkopf stellt die Daten der Gruppe am Anfang der Gruppe dar.
  
;Guppenfuß
+
;Guppenfuß (GroupFooter)
 
:Der Gruppenkopf stellt die Daten der Gruppe am Ende der Gruppe dar.
 
:Der Gruppenkopf stellt die Daten der Gruppe am Ende der Gruppe dar.
  
;Child
 
  
 
;Spaltenkopf
 
;Spaltenkopf
 +
:Ein Report kann in mehrere Spalten aufgeteilt werden, und mit diesem Band kann man einen Kopf für eine Spalte festlegen.
  
 
;Spaltenfuß
 
;Spaltenfuß
 +
:Ein Report kann in mehrere Spalten aufgeteilt werden, und mit diesem Band kann man einen Fuß für eine Spalte festlegen.
 +
 +
 +
==== Child-Bänder ====
 +
 +
Ein Child-Band (Kind-Band) ist ein Band, das zu einem Datenbank (Master- oder Detail-Band) gehört.
 +
 +
Es wird hauptsächlich dazu verwendet...
 +
 +
*um einen Bereich (z.B. die Details) eines Reports ein- oder auszuschalten, abhängig von bestimmten Feld- oder Parameter-Werten.
 +
*um das Band in der Höhe auf seinen Inhalt zu dehnen.
 +
 +
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:
 +
 +
{| class="wikitable" style="text-align: left;"
 +
!Band
 +
!Name
 +
!Child-Eigenschaft
 +
|- valign="top"
 +
|Detail-Band
 +
|DetailPositionen
 +
|style="background-color: green;"|ChildTechniker
 +
|- valign="top"
 +
|1. Child-Band
 +
|style="background-color: green;"|ChildTechniker
 +
|style="background-color: yellow;"|ChildPosText
 +
|- valign="top"
 +
|2. Child-Band
 +
|style="background-color: yellow;"|ChildPosText
 +
|style="background-color: cyan;"|ChildZusatzText
 +
|- valign="top"
 +
|3. Child-Band
 +
|style="background-color: cyan;"|ChildZusatzText
 +
|
 +
|}
 +
 +
 +
;Band ein- oder auschalten
 +
Über den '''Code''' (also Programm-Befehle) kann man ein Band ein- oder ausschalten, wenn der Report ausgeführt wird.
 +
Beachten Sie dazu den Beitrag '''[[FastReport Tipps und Tricks: Bänder#Band per Code unterdrücken|Band per Code unterdrücken]]'''.
 +
 +
;Fehlerquelle:
 +
Eine Fehlerquelle wird im Beitrag '''[[FastReport Tipps und Tricks: Child-Band wird nicht gedruckt|Child-Band wird nicht gedruckt]]''' beschrieben.
 +
 +
Weitere Hinweise:
 +
 +
* [[FastReport_Tipps_und_Tricks:_Bänder|Tipps und Tricks zu den Bändern]]
 +
 +
=== Texte (Memos) ===
 +
 +
z.B. für Datenbank-Felder, Überschriften, Feldbezeichnungen usw.
 +
 +
Diese werden in FastReport als sog. "'''Memo-Felder'''" bezeichnet.
 +
 +
Ein Memo-Feld kann folgende Inhalte haben:
 +
 +
* Ein '''bestimmtes Datenbank-Feld''': In diesem Fall ist dem Feld direkt ein Datenbank-Feld einer Datentabelle zugeordnet.
 +
* '''Mehrere zusammengesetzte Datenbank-Felder''': Hier sind in dem Memo mehrere Datenbank-Felder enthalten. Die Felder können dabei z.B. durch Leerstellen getrennt werden.
 +
* '''Konstanten Text''': Im Memo steht ein konstanter Text, z.B. eine Überschrift einer Tabellen-Spalte.
 +
* '''Formeln''': Im Memo steht eine mathematische Berechung, z.B. in Verbindung mit einem Datenbank-Feld.
 +
 +
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.
 +
 +
Mit der Eigenschaft [[FastReport HTML-Tags in Texfeldern|AllowHTMLTags]] kann man festlegen, dass im Memo-Feld HTMl-Steuerzeichen (z.B. <nowiki><b>  </b>  <br></nowiki>) enthalten sein dürfen. Damit kann man im Memo z.B. einzelne Textteile in Fettschrift darstellen.
 +
 +
=== Datenbank-Felder ===
 +
 +
Die Datenbank-Tabellen und -Felder stellt das Programm '''automatisch''' zur Verfügung.
 +
 +
Außerdem sind die Tabelle automatisch sinnvoll miteinander '''verknüpft'''.
 +
 +
Man muss also keine Datenbank-Kenntnisse haben, um einen Report zu erstellen.
 +
 +
Beachten Sie dazu den Beitrag '''[[FastReport Daten, Tabellen und Felder]]'''.
 +
 +
=== Linien, geografische Formen ===
 +
 +
Linien, Rechtecke usw. mit unterschiedlichen Stricharten; Dicke, Farbe usw. frei wählbar.
 +
 +
Eine Alternative für Striche und Rahmen stellt dir Möglichkeit dar, Felder mit einem frei definierbarem Rahmen zu umgeben.
 +
In einer Überschriftszeile fügt man also z.B. Memo-Felder mit konstantem Text ein. Dann verschiebt man die Memos so, dass sie direkt aneinander liegen.
 +
Dann markiert man alle Memos und wählt oben in der Leiste einen kompletten Rahmen um die Felder.
 +
 +
=== 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.
 +
 +
Beachten Sie die Hinweise im Beitrag [[FastReport Tipps und Tricks: Bilder zur Laufzeit laden|Bilder zur Laufzeit laden]].
 +
 +
=== Barcode, QR-Code ===
 +
 +
FastReport kann standardmäßig mehrere Barcode-Typen darstellen.
  
;Overlay
+
QR-Code ist auch möglich, allerdings benötigt man dafür eine spezielle Lizenz.
  
  
 +
=== Formeln ===
  
 +
Zur Berechnung von Werten, zum Ein-/Ausschalten von Objekten usw.
  
 
== Wie öffnet man den Designer? ==
 
== Wie öffnet man den Designer? ==
Zeile 96: Zeile 297:
 
Beispiel:
 
Beispiel:
  
[[Datei:FastReport_DesignerButton.png]]
+
[[Datei:FastReport_DesignerButton.png|800px]]
  
 
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.
 
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.
Zeile 104: Zeile 305:
 
=== Zugriffsrecht ===
 
=== Zugriffsrecht ===
  
Wenn der Button bei Ihnen nicht sichtbar ist, so haben Sie kein Zugriffsrecht auf den ReportDesginer. Ihr REFLEX-Admin kann Ihnen dieses Recht (mit dem Namen "ReportDesginer") ggf. einrichten.
+
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.
  
[[Datei:FastReport_Recht_ReportDesigner.png]]
+
[[Datei:FastReport_Recht_ReportDesigner.png|800px]]
  
 +
== Woher weiß der Report, welche Daten er drucken soll? ==
  
 +
Die Daten, die zu drucken sind, stellt das Programm automatisch zur Verfügung!
  
== Woher weiß der Designer, welche Daten er drucken soll? ==
+
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 Report.
  
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.
+
Beachten Sie dazu den Beitrag '''[[FastReport Daten, Tabellen und Felder]]'''.
  
 
Beispiel:
 
Beispiel:
Zeile 165: Zeile 369:
 
|- valign="top"
 
|- valign="top"
 
|'''[[FastReport Seitenformat|Seitenformat]]'''
 
|'''[[FastReport Seitenformat|Seitenformat]]'''
|Eine wichtige Einstellung eines Reports ist die Seitengröße und -Ausrichtung. '''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.
+
|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.
 +
 
 +
[[Datei:info.png|links]]In dem FastReport&copy;-Report kann es mehrere Seiten (Pages) geben. Wenn man z.B. ein Formular hat, das aus mehreren Abschnitten besteht (Einleitung, Positionen, Zusammenfassung usw.), kann man diese Abschnitte in mehrere Seiten (Pages) aufteilen. Jedes Page kann dabei einen eigenen Inhalt haben, eigene Kopf- und Fußzeilen usw.
 +
 
 +
Jede Page kann auch eigene Seiten-Einstellungen haben! Man kann also z.B. die erste Page im Hochformat darstellen, die zweite im Querformat und die dritte wieder im Hochformat!
 +
 
 +
Die Standard-Seite "Page1" gibt es '''immer'''. Man kann sie nicht löschen.
 +
 
 
|- valign="top"
 
|- valign="top"
 
|'''[[FastReport Daten, Tabellen und Felder|Daten, Tabellen und Felder]]'''
 
|'''[[FastReport Daten, Tabellen und Felder|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.
+
|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.
 
|- valign="top"
 
|- valign="top"
 
|'''[[FastReport Bands|Bands (Bänder)]]'''
 
|'''[[FastReport Bands|Bands (Bänder)]]'''
|[[Datei:FastReport_Bands_Grafik_klein.png|rechts]]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.
+
|[[Datei:FastReport_Bands_Grafik_klein.png|rechts]]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.
 
|- valign="top"
 
|- valign="top"
 
|
 
|
Zeile 179: Zeile 402:
 
|
 
|
 
|}
 
|}
 
  
 
== Seite zu klein? ==
 
== 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:
 
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:
 +
  
 
[[Datei:FastReport_Seiteneinstellung_SeiteVergroessern.png]]
 
[[Datei:FastReport_Seiteneinstellung_SeiteVergroessern.png]]
  
  
 +
Die Seite im Designer ist damit unendlich groß und Sie können so viele Bänder einfügen, wie benötigt werden!
 +
 +
 +
== Die wichtigsten Code-Befehle ==
 +
 +
Der Code eines Reports hat im Wesentlichen folgende Aufgaben:
 +
 +
* Ein Feld oder Band unter bestimmten Umständen zu unterdrücken
 +
* Text-Felder ("Memos") mit einem bestimmten Inhalt zu füllen
 +
* Die Farbe eines Objektes zu ändern.
 +
* Die Position eines Objektes zu ändern.
 +
 +
Dazu wird der Befehl '''if ... then''' verwendet.
  
 +
Einzelheiten siehe [[FastReport: Der if-Befehl]]
  
  
 +
== Die Druck-Programme ==
  
 +
Wenn der/die Anwender/in im Programm auf '''Drucken''' oder '''Etikett''' klickt, wird
 +
(abhängig von den Einstellungen in den [[Report-Versionen_einstellen|Programm-Parametern]]...
  
== Links ==
+
*entweder das im Programm integrierte Druckfenster geöffnet (CrystalReports&copy;)
 +
 
 +
:oder
 +
 
 +
*das Druckprogramm mit FastReport&copy; gestartet.
 +
:Für den/die Anwender/in sieht das so aus, als ob einfach eine Fenster aufgeht.
 +
:Dem Druckprogramm werden 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:
 +
 
 +
 
 +
<big>'''[[GevitasFormPrint]]'''</big>
 +
:Mit diesem Druckprogramm werden folgende Formulare erzeugt:
 +
:*Angebote
 +
:*Auftragsbestätigungen
 +
:*Ladelisten/Packlisten
 +
:*Rückgabe-Formular
 +
:*Lieferscheinen,
 +
:*Rechnungen/Gutschriften
 +
:*Bestellungen
 +
:*Werkstatt-Reparatur-Aufträge und -Lieferscheine
 +
 
 +
 
 +
<big>'''[[GevitasLabelPrint]]'''</big>
 +
:Mit diesem Druckprogramm werden Etiketten für Artikel oder Adressen erzeugt.
 +
 
 +
 
 +
<big>'''[[GevitasListPrint]]'''</big>
 +
:zum Drucken von Listen und Auswertungen.
  
* [[FastReport Seitenformat]]
 
  
* [[FastReport Daten, Tabellen und Felder]]
+
[[Datei:info.png|links]]Für den/die Anwender/in ist diese technische Information nicht wichtig.
 +
Er/Sie klickt auf drucken und es öffnet sich ein Fenster mit der Auswahl des Formulars, einige Optionen und Buttons für Drucken, Vorschau, E-Mail und Export.
  
* [[FastReport Bands]]
+
== Tipps und Tricks ==
  
* [[FastReport Objekte und Elemente eines Reports]]
+
Eine reiche Quelle mit wertvollen Hinweisen gibt es auf der Seite [[FastReport Tipps und Tricks|Tipps und Tricks]].
  
* [[FastReport: Abhängige Formatierung von Feldern]]
+
Beispiele:
  
* [[FastReport: Summen im Report bilden]]
+
* [[FastReport Tipps und Tricks: Eingebaute Funktionen und Variablen#Interne Variablen|Interne Variablen]]
 +
* [[FastReport Tipps und Tricks: Eingebaute Funktionen und Variablen#Report-Name|Report-Name]]
 +
* [[FastReport Tipps und Tricks: Variablen#Fortlaufende Nummer|Fortlaufende Nummer]]
 +
* [[FastReport Tipps und Tricks: Variablen#Zähler-Variable zum Unterdrücken von wiederholten Werten|Zähler-Variable zum Unterdrücken von wiederholten Werten]]
 +
* [[FastReport Tipps und Tricks: Variablen#Variablen_im_Code_mit_Inhalten_f.C3.BCllen|Variablen im Code mit Inhalten füllen]]
  
* [[FastReport Tipps und Tricks]]
+
* [[FastReport Tipps und Tricks: Falsche Berechnung der Gewichte und Volumen im Lieferschein|Falsche Berechnung der Gewichte und Volumen im Lieferschein]]
  
* [[Ladeliste/Packliste mit FastReport]]
+
* [[FastReport Tipps und Tricks: Seiten-Ansteuerung#Manueller Seitenwechsel im Code|Manueller Seitenwechsel im Code]]
 +
* [[FastReport Tipps und Tricks: Bänder#Band per Code unterdrücken|Band per Code unterdrücken]]
 +
* [[FastReport Tipps und Tricks: Bänder#Band dehnen|Band dehnen]]
  
* [http://youtu.be/VDTSGf4oIFA Video FastReport Teil 1: Allgemeines]
+
* [[FastReport Tipps und Tricks: Child-Band wird nicht gedruckt|Child-Band wird nicht gedruckt]]
 +
* [[FastReport_Tipps_und_Tricks: B%C3%A4nder#Details-Band_wird_nicht_gedruckt_wenn_SubdetailData_leer|Detail-Band wird nicht gedruckt wenn Subdetail-Band leer]]
  
* [http://youtu.be/M3keXvU3JIY Video FastReport Teil 2: Erstes Kennenlernen]
+
* [[FastReport Tipps und Tricks: Formatierung#Schrift-Farbe von Felder abhängig von der Fremdmenge|Schrift-Farbe von Felder abhängig von der Fremdmenge]]
 +
* [[FastReport Tipps und Tricks: Formatierung#Farbe eines Bandes abwechselnd grau/weiß|Farbe eines Bandes abwechselnd grau/weiß]]
 +
* [[FastReport Tipps und Tricks: Formatierung#Zahlen und Datum formatieren|Zahlen und Datum formatieren]]
 +
* [[FastReport Tipps und Tricks: Bilder zur Laufzeit laden|Bilder zur Laufzeit laden]]
 +
* [[FastReport_Tipps_und_Tricks:_Verwendung_von_Feldern#Hyperlinks_in_Feldern|Hyperlinks in Feldern]]
 +
* [[FastReport Tipps und Tricks: Fehler#Tabelle wird im Report nicht angezeigt|Tabelle wird im Report nicht angezeigt]]
 +
* [[FastReport Tipps und Tricks: Fehler#Band wird nicht gedruckt, obwohl Daten vorhanden sind|Band wird nicht gedruckt, obwohl Daten vorhanden sind]]
 +
* [[FastReport Tipps und Tricks: Fehler#Detail-Band mit Auftragspositionen wird mehrfach gedruckt, obwohl nur ein Datensatz vorhanden ist|Detail-Band mit Auftragspositionen wird mehrfach gedruckt, obwohl nur ein Datensatz vorhanden ist]]
 +
* [[FastReport Tipps und Tricks: Fehler#Anzahl Seitennummern ist 0|Anzahl Seitennummern ist 0]]
 +
* [[FastReport Tipps und Tricks: Fehler#Etikettenformular: Es wird immer nur ein Etikett gedruckt|Etikettenformular: Es wird immer nur ein Etikett gedruckt]]
 +
*  [[FastReport_Tipps_und_Tricks:_Fehler#Fehlermeldung_unter_mySQL:_.22Variante_des_Typs_.28UnicodeString.29_konnte_nicht_in_Typ_.28Double.29_konvertiert_werden|Fehlermeldung: "Variante des Typs (UnicodeString) konnte nicht in Typ (Double) konvertiert werden]]
 +
* [[FastReport Tipps und Tricks: Export#Windows-Explorer mit dem Formular-Ordner öffnen|Windows-Explorer mit dem Formular-Ordner öffnen]] im Druck-Fenster
  
* [http://youtu.be/ZEa9te2nyco Video FastReport Teil 3: Den ersten Report erstellen]
+
== Updates ==
  
* [http://youtu.be/IrpqarC0KEc Video FastReport Teil 4: Summen im Report erstellen]
+
Mit diesen Links kommen zu den Update-Beschreibungen der Druckprogramme:
  
* [https://youtu.be/5krqu5oSuGU Video FastReport Teil 10: Vererbung, Erstellen und Verwenden eines Basis-Reports]
+
* [[GEVITAS FormPrint Updates]]
  
* [https://www.fast-report.com/de/ Homepage von FastReport]
+
* [[GEVITAS LabelPrint Updates]]
  
* [[Etikettendruck Allgemeines]]
+
* [[GEVITAS ListPrint Updates]]
  
* [[GEVITAS Label-Print Installation]]
+
== Links ==
  
* [[GEVITAS-Carnet]]
+
{| class="hintergrundfarbe1"
 +
|-
 +
|[[FastReport Seitenformat]]
 +
|[[FastReport Daten, Tabellen und Felder]]
 +
|[[FastReport Tabellen der Reports]]
 +
|'''Beispiele:'''
 +
|-
 +
|[[FastReport Bands]]
 +
|[[FastReport Objekte und Elemente eines Reports]]
 +
|[[FastReport: Abhängige Formatierung von Feldern]]
 +
|[[Ladeliste/Packliste mit FastReport]]
 +
|-
 +
|[[FastReport: Standard-Formular-Texte|Standard-Formular-Texte]]
 +
|[[FastReport: Steuerung des Report mit Auftragskennzeichen|Steuerung des Report mit Auftragskennzeichen]]
 +
|[[FastReport: Summen im Report bilden|Summen im Report bilden]]
 +
|[[FastReport: Leasing-Liste|Leasing-Liste]]
 +
|-
 +
|[[FastReport Farb-Konstanten]]
 +
|[[FastReport Namensgebung der Datenbank-Tabellen und -Felder|Namensgebung der Datenbank-Tabellen und -Felder]]
 +
|[[FastReport Tipps und Tricks|Tipps und Tricks]]
 +
|[[FastReport: Inventar-Liste|Inventar-Liste]]
 +
|-
 +
|[[REFLEX Standard-Reports]]
 +
|[[Etikettendruck Allgemeines]]
 +
|[[Mehrsprachige Formulare mit FastReport]]
 +
|[[FastReport: Geräte-Liste|Geräte-Liste]]
 +
|-
 +
|[[GEVITAS Label-Print Installation]]
 +
|[[GEVITAS-Carnet]]
 +
|[[Videos zu FastReport]]
 +
|[[Erstellen eines Prüfprotokolls für TPS]]
 +
|-
 +
|[[FastReport Angebots-/Auftragsformular mit Terminen]].
 +
|
 +
|
 +
|
 +
|}

Aktuelle Version vom 27. Dezember 2023, 14:45 Uhr

GEVITAS Icon 2017 oben rechts.png

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!

Ab Programm-Release 18009xx wird die FastReport©-Engine Vers. 6 verwendet. Einzelheiten dazu werden in FastReport 6 beschrieben.

Zur Durchführung einer Schulung für FastReport© gibt es hier einen Schulungsplan als Leitfaden.


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.

(Siehe Zugriffsrecht Report-Designer)


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 (In CrytsalReports "Bereich" oder "Sektion" genannt) ist ein bestimmter Bereich innerhalb eines Reports.

Ein Report ist also in Bänder (Bereiche) eingeteilt. Es gibt folgende Bänder:

FastReport Bands Grafik.png

Jedem Band ist eine Tabelle (genannt "DataSet") zugeordnet, damit FastReport weiß, ob das Band nur einmal gedruckt werden soll, (z.B. dem Auftragskopf) oder mehrfach (z.B. die Auftragspositionen).


2.1.1 Was ist ein Dataset?

Vereinfacht gesagt kann man sich ein DataSet vorstellen als eine Tabelle der Datenbank, z.B. Auftragskopf, Auftragspositionen, Artikel usw.

Das ist aber nur die halbe Wahrheit:

  • Ein Dataset ist eine Datenbank-Abfrage von einer oder mehrerer Tabellen der Datenbank.
  • Das Druckprogramm verknüpft dabei mehrer Datenbank-Tabellen miteinander zu einer Abfrage, also zu einem DataSet.
  • Zum Beispiel enthält das Dataset "Auftrag.Positionen" auch Felder aus den Artikel-Stammdaten.


2.1.2 Band-Typen

Reporttitel (ReportTitle)
Dieser Bereich wird als erster ganz oben auf der ersten Seite (und nur da!) dargestellt.
Seitenkopf (PageHeader)
Dieser Bereich wird ganz oben auf allen Seiten dargestellt.
Seitenfuß (PageFooter)
Dieser Bereich wird ganz unten auf allen Seiten dargestellt.
Reportzusammenfassung (ReportSummary)
Dieser Bereich wird unten nach der Ausführung der Datenbänder ausgeführt.
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 Band ausgeführt wird. Wenn das Band 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 Child-Band wird nicht gedruckt.


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 Auftragsformular-Report stellt das Programm automatisch die Kopf- und Fussdaten des Auftrags zur Verfügung und zu jeder Position die Positionsdaten.

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.


2.1.3 Child-Bänder

Ein Child-Band (Kind-Band) ist ein Band, das zu einem Datenbank (Master- oder Detail-Band) gehört.

Es wird hauptsächlich dazu verwendet...

  • um einen Bereich (z.B. die Details) eines Reports ein- oder auszuschalten, abhängig von bestimmten Feld- oder Parameter-Werten.
  • um das Band in der Höhe auf seinen Inhalt zu dehnen.

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


Band ein- oder auschalten

Über den Code (also Programm-Befehle) kann man ein Band ein- oder ausschalten, wenn der Report ausgeführt wird. Beachten Sie dazu den Beitrag Band per Code unterdrücken.

Fehlerquelle

Eine Fehlerquelle wird im Beitrag Child-Band wird nicht gedruckt beschrieben.

Weitere Hinweise:

2.2 Texte (Memos)

z.B. für Datenbank-Felder, Überschriften, Feldbezeichnungen usw.

Diese werden in FastReport als sog. "Memo-Felder" bezeichnet.

Ein Memo-Feld kann folgende Inhalte haben:

  • Ein bestimmtes Datenbank-Feld: In diesem Fall ist dem Feld direkt ein Datenbank-Feld einer Datentabelle zugeordnet.
  • Mehrere zusammengesetzte Datenbank-Felder: Hier sind in dem Memo mehrere Datenbank-Felder enthalten. Die Felder können dabei z.B. durch Leerstellen getrennt werden.
  • Konstanten Text: Im Memo steht ein konstanter Text, z.B. eine Überschrift einer Tabellen-Spalte.
  • Formeln: Im Memo steht eine mathematische Berechung, z.B. in Verbindung mit einem Datenbank-Feld.

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.

Mit der Eigenschaft AllowHTMLTags kann man festlegen, dass im Memo-Feld HTMl-Steuerzeichen (z.B. <b> </b> <br>) enthalten sein dürfen. Damit kann man im Memo z.B. einzelne Textteile in Fettschrift darstellen.

2.3 Datenbank-Felder

Die Datenbank-Tabellen und -Felder stellt das Programm automatisch zur Verfügung.

Außerdem sind die Tabelle automatisch sinnvoll miteinander verknüpft.

Man muss also keine Datenbank-Kenntnisse haben, um einen Report zu erstellen.

Beachten Sie dazu den Beitrag FastReport Daten, Tabellen und Felder.

2.4 Linien, geografische Formen

Linien, Rechtecke usw. mit unterschiedlichen Stricharten; Dicke, Farbe usw. frei wählbar.

Eine Alternative für Striche und Rahmen stellt dir Möglichkeit dar, Felder mit einem frei definierbarem Rahmen zu umgeben. In einer Überschriftszeile fügt man also z.B. Memo-Felder mit konstantem Text ein. Dann verschiebt man die Memos so, dass sie direkt aneinander liegen. Dann markiert man alle Memos und wählt oben in der Leiste einen kompletten Rahmen um die Felder.

2.5 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.

Beachten Sie die Hinweise im Beitrag Bilder zur Laufzeit laden.

2.6 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.


2.7 Formeln

Zur Berechnung von Werten, zum Ein-/Ausschalten von Objekten usw.

3 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:

FastReport DesignerButton.png

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.


3.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.

FastReport Recht ReportDesigner.png

4 Woher weiß der Report, 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 Report.

Beachten Sie dazu den Beitrag FastReport Daten, Tabellen und Felder.

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.

5 Übersicht über das Designer-Fenster

FastReport Fenster.png


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.



6 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.

Info.png
In dem FastReport©-Report kann es mehrere Seiten (Pages) geben. Wenn man z.B. ein Formular hat, das aus mehreren Abschnitten besteht (Einleitung, Positionen, Zusammenfassung usw.), kann man diese Abschnitte in mehrere Seiten (Pages) aufteilen. Jedes Page kann dabei einen eigenen Inhalt haben, eigene Kopf- und Fußzeilen usw.

Jede Page kann auch eigene Seiten-Einstellungen haben! Man kann also z.B. die erste Page im Hochformat darstellen, die zweite im Querformat und die dritte wieder im Hochformat!

Die Standard-Seite "Page1" gibt es immer. Man kann sie nicht löschen.

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)
FastReport Bands Grafik klein.png
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.

7 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:


FastReport Seiteneinstellung SeiteVergroessern.png


Die Seite im Designer ist damit unendlich groß und Sie können so viele Bänder einfügen, wie benötigt werden!


8 Die wichtigsten Code-Befehle

Der Code eines Reports hat im Wesentlichen folgende Aufgaben:

  • Ein Feld oder Band unter bestimmten Umständen zu unterdrücken
  • Text-Felder ("Memos") mit einem bestimmten Inhalt zu füllen
  • Die Farbe eines Objektes zu ändern.
  • Die Position eines Objektes zu ändern.

Dazu wird der Befehl if ... then verwendet.

Einzelheiten siehe FastReport: Der if-Befehl


9 Die 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 (CrystalReports©)
oder
  • das Druckprogramm mit FastReport© gestartet.
Für den/die Anwender/in sieht das so aus, als ob einfach eine Fenster aufgeht.
Dem Druckprogramm werden 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

Mit diesem Druckprogramm werden folgende Formulare erzeugt:
  • Angebote
  • Auftragsbestätigungen
  • Ladelisten/Packlisten
  • Rückgabe-Formular
  • Lieferscheinen,
  • Rechnungen/Gutschriften
  • Bestellungen
  • Werkstatt-Reparatur-Aufträge und -Lieferscheine


GevitasLabelPrint

Mit diesem Druckprogramm werden Etiketten für Artikel oder Adressen erzeugt.


GevitasListPrint

zum Drucken von Listen und Auswertungen.


Info.png
Für den/die Anwender/in ist diese technische Information nicht wichtig.

Er/Sie klickt auf drucken und es öffnet sich ein Fenster mit der Auswahl des Formulars, einige Optionen und Buttons für Drucken, Vorschau, E-Mail und Export.

10 Tipps und Tricks

Eine reiche Quelle mit wertvollen Hinweisen gibt es auf der Seite Tipps und Tricks.

Beispiele:

11 Updates

Mit diesen Links kommen zu den Update-Beschreibungen der Druckprogramme:

12 Links

FastReport Seitenformat FastReport Daten, Tabellen und Felder FastReport Tabellen der Reports Beispiele:
FastReport Bands FastReport Objekte und Elemente eines Reports FastReport: Abhängige Formatierung von Feldern Ladeliste/Packliste mit FastReport
Standard-Formular-Texte Steuerung des Report mit Auftragskennzeichen Summen im Report bilden Leasing-Liste
FastReport Farb-Konstanten Namensgebung der Datenbank-Tabellen und -Felder Tipps und Tricks Inventar-Liste
REFLEX Standard-Reports Etikettendruck Allgemeines Mehrsprachige Formulare mit FastReport Geräte-Liste
GEVITAS Label-Print Installation GEVITAS-Carnet Videos zu FastReport Erstellen eines Prüfprotokolls für TPS
FastReport Angebots-/Auftragsformular mit Terminen.