Kaufmännische Software für Handel, Handwerk und Produktionsbetriebe
Beim doppelten Durchlauf werden manche Ereignisse zweimal aufgerufen. Im folgenden Diagramm ist die Abfolge der Ereignisse
dargestellt. Dabei gehen wir von einem einfachen Bericht ohne
Unterberichte aus und beschränken uns auf die in EULANDA®
gebräuchlichen Ereignisse von
Bericht
Seitenstil
Titel
Kopf
Detailbereich
Zusammenfassung
Fuß .
Die Ereignisse der Objekte (Calc, DBCalc, TextField) werden hier außen vor
gelassen. Wann genau die Ereignisse dieser Objekte aufgerufen werden, ist
nicht von entscheidender Bedeutung, sie werden bis auf wenige Ausnahmen in
der EULANDA® kaum benutzt.
Report BeforePrint
Report OnStartFirstPass
Report OnStartPage (*)
PageStyle BeforePrint
PageStyle BeforeGenerate
PageStyle AfterGenerate
PageStyle AfterPrint
Title BeforePrint
Title BeforeGenerate
Title AfterGenerate
Title AfterPrint
Header BeforePrint
Header BeforeGenerate
Header AfterGenerate
Header AfterPrint
Detail BeforePrint
Detail BeforeGenerate
Detail AfterGenerate
Detail AfterPrint
Summary BeforePrint
Summary BeforeGenerate
Summary AfterGenerate
Summary AfterPrint
Footer BeforePrint
Footer BeforeGenerate
Footer AfterGenerate
Footer AfterPrint
Report OnEndPage (**)
Report OnEndFirstPass
Report OnStartSecondPass
Report OnStartPage (*)
PageStyle BeforePrint
PageStyle BeforeGenerate
PageStyle AfterGenerate
PageStyle AfterPrint
Title BeforePrint
Title BeforeGenerate
Title AfterGenerate
Title AfterPrint
Header BeforePrint
Header BeforeGenerate
Header AfterGenerate
Header AfterPrint
Detail BeforePrint
Detail BeforeGenerate
Detail AfterGenerate
Detail AfterPrint
Summary BeforePrint
Summary BeforeGenerate
Summary AfterGenerate
Summary AfterPrint
Footer BeforePrint
Footer BeforeGenerate
Footer AfterGenerate
Footer AfterPrint
Report OnEndPage (**)
Report AfterPrint
Wie man sieht werden fast alle Ereignisse zweimal aufgerufen.
Ausnahmen bilden hiervon nur
Report BeforePrint
Report OnStartFirstPass
Report OnEndFirstPass
Report OnStartSecondPass
Report AfterPrint.
Außerdem wird der Bereich von OnStartPage (*) bis OnEndPage (**) wird
für jede Seite einmal aufgerufen, sofern die entsprechenden Bereiche
(wie Summary oder Title) existieren.
D.h. bei einer 3-seitigen Rechnung (Detailbereich erstreckt sich über 3
Seiten) wird OnStartPage und OnEndPage dreimal (insgesamt also sechsmal
wegen doppeltem Durchlauf) aufgerufen, die Ereignisse von PageStyle und
Detail auch, die Ereignisse von Title und Summary dagen nur einmal (auf
der ersten Seite Title und auf der letzten Seite Summary, insgesamt da
doppelter Durchlauf also zweimal). Die Ereignisse von Fuß und Kopf so
oft wie selbige gedruckt werden.
Zusammenfassend kann man also sagen, dass die Ereignisse eines
bestimmten Bereichs so oft aufgerufen werden, wie dieser Bereich
gedruckt wird, auch wenn es nur ein Teil ist. Erstreckt sich der
Detailbereich beispielsweise über 3 Seiten, so werden auch dreimal
(insgesamt sechsmal wegen doppeltem Durchlauf) die Ereignisse
DetailBeforePrint, AfterPrint usw. aufgerufen. Geht man davon aus, dass
der Fuß auf jede Seite gedruckt wird so werden auch pro Seite einmal die
Ereignisse des Fußes aufgerufen. Sprich alles was zwischen (*) und (**)
liegt wird jedes Mal auf einer neuen Seite aufgerufen, falls der
entsprechende Bereich dort existiert.
Dies ist das Grundgerüst. Durch hinzufügen von Gruppen (Groups) oder Unterberichten kommen einige Ereignisse hinzu. Wie diese einzuordnen sind können Sie den folgenden Seiten entnehmen.