FastReport: Kapitel unterdrücken wenn alle Positionen ausgegeben sind: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „== Aufgabe == In der Auftragsverwaltung gibt es Aufträge, die den verschiedenen Teilmengen entsprechen, die gefertigt und ausgeliefert werden. Die Positione…“) |
(→Lösung) |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 19: | Zeile 19: | ||
== Lösung == | == 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: Unterdrücken! | ||
+ | GroupHeader1.Visible := True; // Default, Standard: Erst mal sichtbar! | ||
+ | if <Positionen."KapitelAusgabeMenge"> <= 0 then | ||
+ | begin | ||
+ | GroupHeader1.Visible := False; // Unsichtbar! | ||
+ | exit; | ||
+ | end; | ||
+ | ... | ||
+ | end; | ||
Zeile 25: | Zeile 49: | ||
[[Datei:FastReport_Auftrag_KapitelAusgabeMenge_Bsp_02.png]] | [[Datei:FastReport_Auftrag_KapitelAusgabeMenge_Bsp_02.png]] | ||
+ | |||
+ | 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! | ||
+ | |||
+ | == Links == | ||
+ | |||
+ | {| 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]] | ||
+ | |} |
Aktuelle Version vom 9. August 2017, 15:17 Uhr
1 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.
2 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: Unterdrücken! GroupHeader1.Visible := True; // Default, Standard: Erst mal sichtbar! if <Positionen."KapitelAusgabeMenge"> <= 0 then begin GroupHeader1.Visible := False; // Unsichtbar! 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!