Aufrufen des Formulars aus einem Skript

Formulardialoge werden per Skript aktiviert. Hierfür stehen folgende Befehle zur Verfügung:

***FORMULARAUFRUF BEISPIEL.DLG

ruft den Formulardialog auf dem Bildschirm auf. Nachdem der Dialog erzeugt und mit Daten befüllt wurde, wird das Verarbeiten des Skriptes unmittelbar fortgesetzt, d.h. der Verarbeitungsvorgang wird nicht unterbrochen. Wenn im Ablauf eines Skriptes mehrfach derselbe Dialog aufgerufen wird, so wird derselbe Dialog mehrfach mit aktualisierten Daten gefüllt. D.h. Sie sollten vermeiden, in einem Skript mehrfach denselben Dialog aufzurufen.


***FORMULARDRUCK BEISPIEL.DLG

erzeugt zwar den Dialog, er bleibt aber unsichtbar und wird gleich ohne Rückfragen ausgedruckt. Wenn Pflichtfelder vorhanden sind, die nicht automatisch vom Programm ausgefüllt wurden, wird das Ausdrucken des Dialoges verweigert und TEXTBUCH quittiert dies mit einer Fehlermeldung.


***FORMULARSETUPDRUCK BEISPIEL.DLG

entspricht FORMULARDRUCK, aber vor dem Ausdruck erscheint der Druckersetup-Dialog, mit dem der Benutzer einen anderen Drucker als den Standarddrucker auswählen kann.


***FORMULAR BEISPIEL.DLG

erzeugt und befüllt zwar während des Verarbeitens das Dialogfenster, zeigt es aber nicht an und druckt es auch nicht aus. Der Formulardialog kann später ab dem Zeitpunkt der Erzeugung bis zum Beenden von TEXTBUCH über den Menüpunkt Ausgabe, Unterpunkt Formulare auf den Bildschirm geholt werden. Wenn im Dialog Skriptvariablen enthalten sind, die erst zur Laufzeit gesetzt werden (z.B. Kontenvariablen), dann steht der Menüpunkt unter Formulare erst nach dem ersten Verarbeiten zur Verfügung, andernfalls reicht schon das Anmelden der entsprechenden Skriptdatei aus, damit der Menüpunkt erscheint.

Der Eintrag als Menüpunkt Ausgabe - Formulare wird bei jeder der vier Arten des Aufrufens durchgeführt. Das heißt, Sie können beispielsweise bei Verwendung von ***FORMULARAUFRUF im Nachhinein das Formular wieder auf den Bildschirm zurückholen, mit dem jeweils letzten Stand der ggfs. händischen Eingaben. Erst mit dem Schließen des gesamten TEXTBUCH Programms werden die verwendeten Formulardialoge gelöscht.

Um bestimmte Formulare standardmäßig unter Ausgabe - Formulare erscheinen zu lassen, legen Sie im TEXTBUCH Hauptfenster unter Eingabe - Skripte eine neue Datei START.SKT an. Existiert ein Skript "START.SKT" im Firmenverzeichnis, so wird dieses 4 Sekunden nach Start des Programms automatisch ausgeführt. Formulare, die Skriptvariablen bzgl. Konten enthalten, dürfen aber nicht in START.SKT eingetragen werden, weil zum Zeitpunkt der Abarbeitung die Konten noch nicht abgeschlossen wurden, außer man sieht dies im Skript START.SKT explizit vor.

Um den Dialogeditor aus einem Skript heraus zu starten, führen Sie einen Doppelklick in der Zeile ***FORMULAR... aus.

Formulare als Eingabefelder für Skripte verwenden


***FORMULAREINGABE BEISPIEL.DLG

ruft den Formulardialog auf dem Bildschirm auf wie bei FORMULARAUFRUF. Der Verarbeitungsvorgang wird jedoch unterbrochen, bis der Dialog geschlossen wird. Dies können Sie dazu nutzen, Daten zu setzen, die im weiteren Verlauf des Skriptes dann verwendet werden. Erst nachdem der Dialog mit Daten befüllt wurde und wieder weggeklickt wird, wird das Verarbeiten des Skriptes fortgesetzt. dass das Skript auf den Dialog "wartet", bis er geschlossen wird, sehen Sie an der grünen LED im TEXTBUCH Hauptfenster.

Ab der Zeile ***FORMULAREINGABE dürfen Sie nun in Skripten Elementvariablen Ihres BEISPIEL.DLG verwenden. Wenn Sie keine Elementvariablen mehr verwenden und z.B. stattdessen spitze Klammern < > wieder anderweitig verwenden möchten, so schreiben Sie


***FORMULARENDE

Ab hier werden keine Elementvariablen mehr verwendet.

Wird ein weiterer Dialog mit ***FORMULAREINGABE verwendet, so stehen die Elementvariablen des alten Dialogs im weiteren Verlauf des Skripts nicht mehr zur Verfügung, sondern nur noch die des neuen Dialoges. Dies ist auch deshalb wichtig, weil die Dialogelemente unterschiedlicher Dialoge in der Regel dieselben Namen haben: <EINGABE1>, <EINGABE2>, <FIXTEXT1> usw.