REFLEX Standard-Basis-Report: Unterschied zwischen den Versionen

Aus GEVITAS
Wechseln zu: Navigation, Suche
(Bereiche)
(Felder hinzufügen)
 
(16 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 37: Zeile 37:
 
Man kann beliebig viele weitere Objekte in den Report einfügen.
 
Man kann beliebig viele weitere Objekte in den Report einfügen.
  
Die Namen der Objekte und Felder '''sollte man ändern'''!  
+
;Wichtig:[[Datei:Achtung_64.jpg|rechts]]
 +
 
 +
<big>Die Namen der Objekte und Felder '''sollte man unbedingt ändern'''! </big>
  
 
;Grund:  
 
;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.
+
: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".
 
:Besser ist es, die Felder eindeutig zu benennen, also statt "Memo1" besser "MemoBasisFusstextBank1".
 
+
<br>
 +
<big>Das ist ein ganz wichtiger Punkt!</big>
 +
<br>
 +
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!
  
 
=== Felder löschen ===
 
=== Felder löschen ===
Zeile 49: Zeile 57:
  
  
 +
=== 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 &rArr;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'''!
  
 
== Bereiche ==
 
== Bereiche ==
Zeile 73: Zeile 88:
 
;HighQuality
 
;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!
 
: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&rArr;Symbolleisten" einschalten oder (oder mit der Faste F11).
  
  
Zeile 78: Zeile 96:
 
=== [[Datei:2.png]] Firmen-Daten im Kopf im Child "BasisSeitenkopfChild" ===
 
=== [[Datei:2.png]] 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.
+
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.
  
  
Zeile 85: Zeile 103:
 
Beispiel:
 
Beispiel:
  
  <nowiki><code><b></nowiki></code>BEISPIEL VERANSTALTUNGSTECHNIK GMBH<nowiki><code></b></nowiki></code>
+
  <nowiki><b></nowiki>BEISPIEL VERANSTALTUNGSTECHNIK GMBH<nowiki></b></nowiki>
 
  Beispiel Str. 12
 
  Beispiel Str. 12
 
  12345 Beispielort  
 
  12345 Beispielort  
 
   
 
   
  <nowiki><code><b></nowiki></code>Telefon<nowiki><code></b></nowiki></code> +49 1234-56789-0
+
  <nowiki><b></nowiki>Telefon<nowiki></b></nowiki> +49 1234-56789-0
  <nowiki><code><b></nowiki></code>Fax<nowiki><code></b></nowiki></code> +49 1234-56789-30
+
  <nowiki><b></nowiki>Fax<nowiki></b></nowiki> +49 1234-56789-30
  <nowiki><code><b></nowiki></code>Mail<nowiki><code></b></nowiki></code> kontakt@beispiel.de
+
  <nowiki><b></nowiki>Mail<nowiki></b></nowiki> kontakt@beispiel.de
  <nowiki><code><b></nowiki></code>Internet<nowiki><code></b></nowiki></code> www.beispiel.de
+
  <nowiki><b></nowiki>Internet<nowiki></b></nowiki> www.beispiel.de
  
Der Text, der zwischen <code><nowiki><b></nowiki></code> und <code><nowiki></b></nowiki></code> steht, kommt in Fettschrift.
+
Der Text, der zwischen <nowiki><b></nowiki> und <nowiki></b></nowiki> steht, kommt in Fettschrift.
 +
 
 +
Siehe auch [[FastReport HTML-Tags in Texfeldern]].
  
  
  
 
=== [[Datei:3.png]] Absender-Zeile ===
 
=== [[Datei:3.png]] 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]].
  
  
  
 
=== [[Datei:4.png]] Firmen-Daten im Fuss ===
 
=== [[Datei:4.png]] 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.
 +
 +
 +
== 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.
 +
 +
 +
 +
== Fehler, die man machen kann, aber nicht machen sollte ==
 +
 +
=== Felder aus einem Formular in den Basis-Report einfügen ===
 +
 +
In diesem Beispiel wurden Felder aus dem Auftragskopf in den Basis-Report eingefügt:
 +
 +
 +
[[Datei:FastReport_BasisReport_FehlerBsp01.png]]
 +
 +
 +
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:
 +
 +
[[Datei:FastReport_BasisReport_FehlerBsp01Richtig.png]]
 +
 +
Es wurde ein neues MasterData-Band "MasterDataAnschrift" in den Report eingefügt (mit dem Dataset "Auftragskopf") und dort die Felder platziert.
 +
 +
 +
=== 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 &rArr; 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!
 +
 +
== Updates ==
 +
 +
{| class="wikitable" style="text-align: left;"
 +
!Version
 +
!Datum
 +
!Beschreibung
 +
|- valign="top"
 +
|
 +
|
 +
|
 +
|- valign="top"
 +
|
 +
|
 +
|
 +
|- valign="top"
 +
|
 +
|
 +
|
 +
|- valign="top"
 +
|
 +
|
 +
|
 +
|}
 +
 +
 +
 +
== Standard-Reports ==
 +
 +
* [[REFLEX Standard-Report Angebot/Auftrag]]
 +
 +
* [[REFLEX Standard-Report Ladeliste]]
 +
 +
* [[REFLEX Standard-Report Lieferschein]]
 +
 +
* [[REFLEX Standard-Report Fehlmaterial]]
 +
 +
* [[REFLEX Standard-Report Bestellung]]
 +
 +
* [[REFLEX Standard-Report Rechnung]]
 +
 +
* [[REFLEX Standard-Report Werkstatt KV]]
 +
 +
* [[REFLEX Standard-Report Werkstatt-Auftrag]]
 +
 +
* [[REFLEX Standard-Report Werkstatt-Reparatur-Lieferschein]]
 +
 +
* [[REFLEX Standard-Report Werkstatt-Rueck-Lieferschein]]
 +
 +
* [[REFLEX Standard-Basis-Report]]
  
 
== Links ==
 
== Links ==

Aktuelle Version vom 10. Juli 2017, 12:02 Uhr

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.

FastReport BasisReport entfernen.png


2 Vorschau

In der Vorschau sieht das Formular so aus:

FastReport BasisReport Vorschau.png


3 Der Report dazu

FastReport BasisReport Report.png


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
Achtung 64.jpg

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 1.png 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:

FastReport BasisReport Logo Eigenschaften.png

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 2.png 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 3.png 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 4.png 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:


FastReport BasisReport FehlerBsp01.png


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:

FastReport BasisReport FehlerBsp01Richtig.png

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


9 Standard-Reports

10 Links