REFLEX Standard-Basis-Report
Inhaltsverzeichnis
1 Allgemeines
Die Standard-Reports von REFLEX verwenden als Basis für den Kopf- und Fuss-Bereich den Basis-Report "BasisReport_01.fr3". Dieser muss im Verzeichnis "Formular" liegen.
Der Report beinhaltet nur die Kopf- und Fussdaten, die für Geschäftsbriefe üblicherweise verwendet werden.
Wenn ein Report dieses nicht braucht, kann man den Verweis auf den Basis-Report auch entfernen.
2 Vorschau
In der Vorschau sieht das Formular so aus:
3 Der Report dazu
4 Report anpassen
4.1 Felder ändern
Man kann alle vorhandenen Objekte und Felder an die eigenen Bedürfnisse anpassen, also Schriftart, -Größe usw. Auch die Anordnung der Felder kann beliebig geändert werden.
Die Namen der Objekte und Felder sollte man nicht ändern, weil die u.U. im Code angesprochen werden, z.B. zum Unterdrücken des Logos über ein Kennzeichen.
4.2 Felder hinzufügen
Man kann beliebig viele weitere Objekte in den Report einfügen.
- Wichtig
Die Namen der Objekte und Felder sollte man unbedingt ändern!
- Grund
- FastReport vergibt erst mal Standard-Namen für Objekte, z.B. "Memo1" für ein Textfeld.
- Dieser Name "Memo1" kann aber im Hauptreport später auch vorhanden sein!
- Das führt zwangsläufig zu Konflikten beim Ausführen des Hauptreports, weil der Feldname nun nicht mehr eindeutig ist.
- Besser ist es, die Felder eindeutig zu benennen, also statt "Memo1" besser "MemoBasisFusstextBank1".
Das ist ein ganz wichtiger Punkt!
Wenn Sie einen Report öffnen und im Seitenkopf- oder -Fuss sind plötzlich Felder, die da nicht sein sollten, haben Sie im Basis-Report und im Formular-Report bestimmt Objekte mit gleichem Namen!
4.3 Felder löschen
Wenn man ein vorhandenes Objekt löscht und das in einem Code erwartet wird (z.B. in einer Unterdrückungsformel), tritt u.U. ein Fehler auf. In diesem Fall muss der Code im Report angepasst oder entfernt werden.
4.4 Hinweis
Wenn Sie eine Grafik austauschen, müssen Sie im eigentlichen Report die Vererbung wiederholen, damit die neue Grafik in den Report geholt wird.
Öffnen Sie dazu den eigentlichen Report, klicken Sie auf Report ⇒Optionen und darin auf die Seite Vererbung. Geben Sie unter Template Path den Pad zum Basisi-Report an und wählen die Option Vom Basisreport erben an. Wenn Sie auf OK klicken, werden Sie gefragt, ob Sie die Duplikate im Report löschen wollen. Wählen Sie diese Option.
- Achtung
- Wenn Sie in einem bestehenden Report Felder auf ein Band gelegt haben, das aus dem Basisreport kommt, werden diese ebenfalls gelöscht!
5 Bereiche
5.1 Logo im PageHeader "BasisSeitenkopf"
In diesem Bereich befindet sich ein Objekt "pictureBasisKopfLogo", das Bilder anzeigen kann.
5.1.1 Bild ändern
- Doppelklick auf das Objekt
- Button zum Öffnen einer Datei (links oben) klicken
- Datei auswählen. Mögliche Formate: BMP, JPG, PNG, ICO, EMF.
5.1.2 Bild-Einstellungen
Die wichtigsten Eigenschaften des Bild-Objekts:
- HighQuality
- Wichtig: wenn True, wird das Bild in hoher Qualität im Report gespeichert. Das vergrößert zwar die Reportdatei-Größe erheblich, verbessert aber das Bild dramatisch!
- Die Eigenschaften setzt man im Objektinspektor, den man unter dem Menü "Ansicht⇒Symbolleisten" einschalten oder (oder mit der Faste F11).
5.2 Firmen-Daten im Kopf im Child "BasisSeitenkopfChild"
In diesem Bereich rechts befinden sich die Firmendaten. Es handelt sich um "normale" Textfelder. Ein Textfeld wird geändert, indem man es doppelklickt und den gewünschten Text eingibt. Außerdem kann man die Formatierung (Schriftart, -größe) usw. beliebig ändern.
Textfelder erlauben die Verwendung von sog. "HTML-Tags". Das sind Steuerzeichen, mit denen man die Textdarstellung beeinflussen kann.
Beispiel:
<b>BEISPIEL VERANSTALTUNGSTECHNIK GMBH</b> Beispiel Str. 12 12345 Beispielort <b>Telefon</b> +49 1234-56789-0 <b>Fax</b> +49 1234-56789-30 <b>Mail</b> kontakt@beispiel.de <b>Internet</b> www.beispiel.de
Der Text, der zwischen <b> und </b> steht, kommt in Fettschrift.
Siehe auch FastReport HTML-Tags in Texfeldern.
5.3 Absender-Zeile
In diesem Bereich links befindet sich die Absenderzeile. Es handelt sich um ein "normales" Textfeld. Ein Textfeld wird geändert, indem man es doppelklickt und den gewünschten Text eingibt. Außerdem kann man die Formatierung (Schriftart, -größe) usw. beliebig ändern.
Siehe auch FastReport HTML-Tags in Texfeldern.
5.4 Firmen-Daten im Fuss
In diesem Bereich unten befinden sich die Firmendaten, Bankverbindungen usw. Es handelt sich um "normale" Textfelder. Ein Textfeld wird geändert, indem man es doppelklickt und den gewünschten Text eingibt. Außerdem kann man die Formatierung (Schriftart, -größe) usw. beliebig ändern.
6 Code im Report
Es gibt nur einen Code-Abschnitt:
procedure BasisSeitenkopfChildOnBeforePrint(Sender: TfrxComponent); begin if <Page#> > 1 then BasisSeitenkopfChild.Visible := False else BasisSeitenkopfChild.Visible := True; end;
Dieser Code unterdrückt den Bereich mit der Absenderzeile und den Firmendaten ab der zweiten Seite.
7 Fehler, die man machen kann, aber nicht machen sollte
7.1 Felder aus einem Formular in den Basis-Report einfügen
In diesem Beispiel wurden Felder aus dem Auftragskopf in den Basis-Report eingefügt:
Das ist keine gute Idee:
- Der Basis-Report wird u.U. auch für eine Bestellung benutzt, dann kann es dort zu Fehlern führen!
Besser ist es so:
Es wurde ein neues MasterData-Band "MasterDataAnschrift" in den Report eingefügt (mit dem Dataset "Auftragskopf") und dort die Felder platziert.
7.2 Basis-Report ablösen und Child-Bänder des Basis-Report weiterverwenden
Man kann einen Basis-Report in einem Report ablösen, indem man auf das Menü Report ⇒ Optionen klickt und in dem Fenster im Reiter Vererbung auf Basisreport ablösen klickt.
Wenn man im Report ein Child-Band aus dem Basis-Report hat, sollte man dieses Band nicht weiterverwenden, das kann zu unerklärlichen Phänomenen führen. In einem aktuell Fall führte es dazu, dass ein Report-Fuß und - Kopf aus dem Basis-Report dazu führte, dass Folgeseite über der ersten Seite gedruckt wurden.
Nachdem das Problem erkannt war, war die Lösung ganz einfach:
- Neues Band einfügen, z.B. im Kopf ein Master-Band.
- Felder aus dem bisherigen Child-Band alle markieren und auf das neue Band schieben.
- Child-Band löschen!
8 Updates
Version | Datum | Beschreibung |
---|---|---|