FastReport: Kapitel unterdrücken wenn alle Positionen ausgegeben sind

Aus GEVITAS
Zur Navigation springen Zur Suche springen

Aufgabe

In der Auftragsverwaltung gibt es Aufträge, die den verschiedenen Teilmengen entsprechen, die gefertigt und ausgeliefert werden.

Die Positionen, die vollständig ausgeliefert wurden, werden unterdrückt. Allerdings kommen die Kapitel-Überschriften noch, obwohl alle folgenden Positionen des Kapitels vollständig ausgegeben sind.


Aufgabe ist es also, die Kapitel zu unterdrücken, wenn alle Positionen des jeweiligen Kapitels ausgegeben sind.

Dazu kann man das Feld

KapitelAusgabeMenge

verwenden.


Lösung

Das GEVITAS-Druckprogramm "GevitasFormPrint", mit dem die FastReport-Formulare erzeugt werden, stellt ein paar besondere Felder zur Verfügung. Diese ermöglichen Konstruktionen, die man mit Code im Report nicht ermöglichen könnte.

Im Feld

Positionen.KapitelAusgabeMenge

steht in jeder Zeile der Positionen (also auch in der Kapitel-Position!) die Summe der Menge, die für dieses Kapitel noch auszugeben ist.

Also kann man die Kapitel-Position mit diesem Code (OnBeforePrint im Gruppen-Kopf, wo das Kapitel gedruckt wird) unterdrücken:


procedure GroupHeader1OnBeforePrint(Sender: TfrxComponent);
begin
  // Dieser Code wird ausgeführt, BEVOR das Positionen-Gruppenkopf-Band (die Kapitel-Überschrift) ausgegeben wird.

  // Wenn es keine Position im Kapitel gibt, die noch auszugeben ist:
  GroupHeader1.Visible         := True;        // Default
  if <Positionen."KapitelAusgabeMenge"> = 0 then
  begin
    GroupHeader1.Visible         := False;
    exit;
  end;
  ...
end;


Fertig sieht das dann so aus:


Es kommen nur noch die Kapitel-Überschriften, die noch nicht vollständig ausgegeben wurden!


Hinweis
Diese Funktion ist erst ab Version 2.5.17.809 möglich!


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