FastReport Schulungsplan

Aus GEVITAS
Wechseln zu: Navigation, Suche

1 Allgemeines

Hier finden Sie einen Schulungsplan als Leitfaden für eine FastReport©-Schulung.

Es sind hilfreiche Links enthalten, so dass man Details zu einem Thema schnell aufrufen kann.

2 Funktionsweise

2.1 Wie funktioniert das Drucken mit GEVITAS-Programmen und FastReport

FastReport Prinzip.png

Das heißt
  • Das Programm stellt alle benötigten Daten-Tabellen zur Verfügung
  • Es sind nur die Tabellen vorhanden, die beim jeweiligen Vorgang auch benötigt werden
  • In den Tabellen sind die Daten für den jeweiligen Vorgang enthalten

2.2 Bereiche eines Reports

Bänder
Elemente eines Reports
Bänder
Tabellen, DataSets
Daten, Tabellen und Felder
DataSets
Objekte
Memo-Felder, Objekte im Report

3 Der Designer

Designer öffnen mit ausgewähltem Formular (=Report-Datei)
Wie öffnet man den Designer
Zugriffsrecht wird benötigt
Zugriffsrecht
Designer-Elemente
Übersicht über den Designer
Report-Einstellungen, Seitengröße usw.
Grundlegende Einstellungen des Reports


4 Einfacher Report: Artikel-Etikett

Anhand eines Artikel-Etiketts kann man in die Report-Gestaltung einsteigen:

Dazu in die Artikel-Stammdaten, einen Artikel öffnen und auf Etikett klicken.

Das Modul GevitasLabelPrint wird gestaret.

Etikettendruck Allgemeines
Im Designer
  • Klicken auf Datei - Neu
  • Standard Report auswählen
  • Report - Daten auswählen, DataSet anklicken
  • Nun hat man ein leeres Fenster
  • Rechts die möglichen Datenbank-Tabelle(n) und -felder
  • Man könnte nun einfach Felder hineinziehen
  • Funktioniert aber nur mit einem Datensatz, weil: Band fehlt! Siehe Es wird nur EIN Etikett gedruckt
  • Ein Band Masterdaten hineinziehen
  • Felder nun auf diesem Band platzieren.
  • Text-Felder heißen "Memos"
  • Erklärung der Feld-Formatierung
    • Größe
    • Position
    • Schrift
    • Rahmen
  • Nur am Rande: Barcode, QR-Code, siehe Etiketten mit QR-Code
  • Eigenschaften eines Objekts im Objekt-Inspektor


5 Etwas aufwändigerer Report: Angebot/Auftrag

Anhand eines Angebot/Auftrag kann man die Report-Gestaltung erweitern:

Dazu in die Auftragsverwaltung und ein Angebot/Auftrag öffnen und auf Drucken klicken.

  • Eine Kopie des Reports erstellen
  • Doppelklick auf den Formular-Namen öffnet Windows-Explorer
  • Die Datei xxx.fr3 kopieren mit sinnvollem Namen
  • Zurück zum Druckprogramm, Button Btn refresh blau.png klicken, um die Dateiliste zu aktualisieren!
Viele Bänder in dem Report
  • Mehrere MasterData-Bänder für den Auftragskopf
  • Ein Detail-Band, mehrere "Child-Bander" darunter, wozu?
  • Welche Band-Typen gibt es: Bänder
Seitenkopf
MasterData-Bänder
  • Unterschiedliche Bereichen ein-/ausblenden, das kommt später!
Detail-Band (nur eines!)
  • Hat Child-Bänder zum ein-/ausblenden, das kommt später!
Footer
  • Seitenfuss am Ende des Reports
Seitenfuß
  • Aus Basis-Report!

6 Code: Die Script-Sprache von FastReport

Der Code-Editor
  • Aufrufen über das Register "Code"
  • oder Durch Doppelklick auf ein Ereignis im Objekt-Inspektor
  • Was sind Ereignisse?
    • Ein Ereignis wird bei bestimmten Geschehnissen ausgelöst und kann eine Code beinhalten.
    • Das wichtigste Ereignis: OnBeforePrint wir ausgelöst, bevor ein Objekt (Band, Feld usw.) "gedruckt" wird.
"Gedruckt" meint hier auch angezeigt, exportiert usw.
    • Prozeduren, begin und end;


procedure DetailPositionenOnBeforePrint(Sender: TfrxComponent);
begin
  // Dieser Code wird ausgeführt, BEVOR das Positionen-Detail-Band
  // ausgegeben wird.

  // Wenn der Gesamtpreis 0 ist, den Einzelpreis unterdrücken:
  // (z.B. bei 100 % Rabatt)
  if <Positionen."GesBetrag"> = 0 then
  begin
    memoPosEinzelPreis.Visible := False;
    memoPositionenRabattProz.Visible := False;
  end;
end;

6.1 procedure

Prozeduren sind Code-Blöcke, die für bestimmte Aufgaben (=Ereignisse) bestimmte Befehle enthalten.

Die Befehle befinden sich zwischen...

procedure DetailPositionenOnBeforePrint(Sender: TfrxComponent);
begin

...und...

end;

Sender: TfrxComponent wird nur für ganz wenige Spezialfälle benötigt, vergessen Sie das.

  • Der Autor hat Sender in den letzten 5 Jahren nicht benötigt...


6.2 Begin und end

Begin und end legen den Anfang und das Ende eines Programm-Blocks fest.

Eine Prozedur beginnt und endet damit.

Blöcke werden auch in if ... then ...else verwendet, wenn nach dem if bzw. else mehrere Zeilen kommen.

Siehe FastReport: Der if-Befehl

if {Ausdruck} then

...wobei {Ausdruck} ein logischer Ausdruck ist, der entweder wahr (true) oder falsch (false) ergibt.

Wenn nach dem

then


nur eine Zeile folgt, kann man diese direkt darunter schreiben.

Beispiel:

  // Kapitel-Position (PosNr=0) ausblenden:
  if ( <Positionen."PosNr"> = 0  ) then
    ddPositionen.Visible := False;


Wenn nach dem

then


mehrere Zeilen folgen, muss man einen Block mit

begin

und

end;


schreiben. Dazwischen schreibt man die Zeilen des Codes.

Beispiel:

  // Kapitel-Position (PosNr=0) ausblenden:
  if ( <Positionen."PosNr"> = 0  ) then
  begin
    ddPositionen.Visible := False;
    ddPosTexte.Visible := False;
  end;


6.3 Das Semikolon ;

Das Ende einer Programmzeile wird durch das Semikolon ; festgelegt.


6.4 Ist-Gleich ist nicht Ist-Gleich!

Das Gleich-Zeichen hat zwei Syntax-Varianten:

=

= wird verwendet, wenn man zwei Werte miteinander vergleichen will.

Beispiel:

  if ( <Positionen."PosNr"> = 0  ) then


:=

:= wird verwendet, wenn man dem linken Objekt den Wert rechts zuweisen will.

    ddPositionen.Visible := False;


6.5 Felder und Variablen im Code

Wenn man Datenbank-Felder, Variablen usw. im Code ansprechen will, muss man die Namen in spitzen Klammern...

 <Name> 

angeben.


Hinweis
Der Schulungsplan ist hier frühzeitig beendet, CORONA/COVID-19 "sei Dank"! Er wird später weitergeführt...

7 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
FastReport Angebots-/Auftragsformular mit Terminen.