Im Fußteil auf der letzten Seite eines Beleges müssen Informationen angedruckt werden, die es nötig machen, den festgelegten Fußteil zu überschreiten.
D.h. der Fußteil wird im Formular grundsätzlich dahingehend eingerichtet, dass er den Anforderungen der vorangegangenen Seiten entspricht. Damit der Fußbereich, wenn er sich auf der letzten Seite nicht mehr auf dem Formular ausgeht, auf einer neuen Seite angedruckt wird, muss der dadurch benötigte Seitenumbruch mit einer VB Script Formel festgelegt werden.
Zur Positionierung der Elemente im Fußbereich gibt es 2 Varianten.
1. die Elemente werden negative positioniert sodass die Variablen in der letzten Zeile des Fußbereiches die max. Seitenhöhe nicht überschreiten.
2. die Elemente im Fußbereich werden mit der Option "Variabler Fußteil" versehen. D.h. der Fußteil wird immer nach der letzten Mittelteilszeile gedruckt. In diesem Fall ist es nicht notwendig die Elemente des Fußteils negativ zu positionieren.
Beispiel anhand des Fakturenformulars
Die Seiteneinstellungen im Formular sehen wie folgt aus (zu beachten ist die Seitenhöhe 67!).

ü Variante 1 - Elemente im
Fußbereich negativ platzieren
Die Variablen im Fußbereich auf der letzten
Seite müssen nun dahingehend platziert werden, dass die Seitenhöhe von 67 nicht
überschritten wird. Jedoch werden diese Platzhalter dadurch über den Bereich
"Erste Fußzeile: 59" hinausreichen (müssen).
Im folgenden Beispiel wurde
die "letzte" Zeile sogar auf Position 66 gestellt.
Dadurch ergibt sich die
erste Fußzeile auf Position 56 (negativer Bereich).
Mittels VB-Formel muss diese Zeile,
bzw. diese Zeile abzüglich 1 abgefragt, und der Seitenumbruch erzwungen
werden.
In der Formel wird auf die "DeepestPrintedLine" > 55
abgefragt. Das bedeutet, würde der Mittelteil die Zeile 56 erreichen (und somit
den negativ positionierten Fußteil überschreiben), so muss ein Seitenumbruch
erfolgen.
Formel zum Kopieren
If DeepestPrintedLine > 55 Then
flags = headerFlags & "U"
PageBreak(flags)
End If
Achtung
Diese Formel muss im Fußteil des Formulars als erste Variable (mit dem Flag "C") eingefügt werden!
ü Variante 2 - Elemente im
Fußbereich mit Option "Variabler Fuß"
Die Variablen im Fußbereich auf der
letzten Seite müssen mit Option "Variabler Fuß" versehen werden, müssen jedoch
dabei nicht negativ platziert werden.
Damit nun das letzte Element (tiefste
Fußteilszeile) nicht weiter als in Zeile 66 (gleich dem Beispiel Variante 1)
gedruckt wird, muss dies mittels VB-Formel abgefragt werden.
Als Berechnung
dazu ergibt sich: die Elemente die in Zeile 70 positioniert sind dürfen max. auf
Zeile 66 stehen; d.h. -4 Zeilen. Somit darf auch die erste Fußzeile nicht bei 59
beginnen, sondern bei Zeile 55 (59-4).
Mittels VB-Formel muss diese
Zeile, bzw. ggfs. diese Zeile abzüglich 1 abgefragt, und der Seitenumbruch
erzwungen werden.
In der Formel wird auf die "DeepestPrintedLine" > 54
abgefragt. Das bedeutet, würde der Mittelteil die Zeile 55 erreichen, so muss
ein Seitenumbruch erfolgen.
Formel zum Kopieren
If DeepestPrintedLine > 54 Then
flags = headerFlags & "U"
PageBreak(flags)
End If
Achtung
Diese Formel muss im Fußteil des Formulars als erste Variable (mit dem Flag "C") eingefügt werden!
Folgende Eigenschaften stehen im Formular in einer VBScript Formel zur Verfügung:
ü CurrentLine
Objekt, das den
gerade ausgegebenen Teil repräsentiert
ü FirstMiddleLine
die erste
Mittelteilszeile auf der Seite
ü FirstFootLine
die erste
Fußzeile auf der Seite
ü CurrentPrintLine
die Zeile des
gerade gedruckten Elements
ü DeepestPrintedLine
die tiefste
bisher gedruckte Zeile
ü HeaderFlags
die Header Flags,
die aktuell definiert sind
ü MiddleFlags
die Middle Flags,
die aktuell definiert sind
ü Value (View, Var)
Zugriff auf
die Programmvariablen
ü PageBreak (FlagsForFooter
(optional));
Seitenumbruch auslösen
In der Formel wird nun auf die " DeepestPrintedLine " geprüft und falls diese über den angegebenen Wert hinausreicht, werden die "Header Flags" um das Flag für den Übertrag erweitert (das Flag "letzte Seite" wird vom Programm automatisch entfernt) und damit der Seitenumbruch ausgelöst. Würde das Übertrags-Flag nicht angegeben werden, würde überhaupt kein Fuß ausgegeben (lt. Definition des Formulars).
Im aktuellen Beispiel hätte auch die Zeile "PageBreak ("U")" genügt, weil dieses Flag den Fuß mit dem Übertrag andruckt.