Beispiel für einen Dialog mit Skript: Rechnungsliste für Kunde erzeugen

Das folgende Beispiel ist sehr einfach und kurz, streift aber viele einzelne Aspekte in der Programmierung von Skripten und Dialogen.

Wenn Sie Dialogfenster und Skripte kombinieren möchten, gibt es zwei Wege: Aus einem Skript heraus wird mit ***FORMULAREINGABE ein Formular aufgerufen, das Skript hierbei angehalten; der Benutzer füllt den Dialog aus und das Skript wird wieder fortgesetzt. Alternativ können Sie auch ein Formular direkt aufrufen und aus diesem Formular heraus dann ein Skript ausführen. Wir verwenden hier die letztere Variante.

Wenn Sie bisher das Kapitel zur Kostenrechnung übersprungen haben, reicht zum Verständnis folgendes aus: Aufwendungen, die einem Projekt bzw. einem Kunden zugeordnet werden, werden im Buchungstext mit einem sonst nicht genutzten Sonderzeichen, z. B. dem $-Zeichen, markiert:


31.01.07 Wandfarbe für Baustelle $Meier X:Y 57,50

(Bei der Kostenrechnung sind die Buchungssätze nicht weiter von Interesse.)

(1) Um in den Dialogeditor zu gelangen, gibt es zwei Wege: Entweder Sie rufen den Dialogeditor direkt aus dem TEXTBUCH Hauptmenü heraus auf: Eingabe - Dialoge editieren - Formulardialog. Oder Sie öffnen zuerst ein Skript, das Sie ohnehin regelmäßig ausführen, z.B. Eingabe - Skripte - Ausgabe.skt und schreiben gleich an eine beliebige Stelle


***FORMULAR PosRechnung.dlg

Wenn das Skript an dieser Stelle ausgeführt wird, wird das Formular angelegt und kann nachträglich über Ausgabe - Formulare sichtbar gemacht werden. Jetzt machen Sie einen Doppelick in der Zeile "***FORMULAR" und Sie gelangen ebenso in den Dialogeditor.

Als Titel wählen wir "Aufwendungen für ein Projekt".

In diesem Dialog müssen wir nur wenige Dialogelemente erzeugen:

(2) Es gibt im wesentlichen nur zwei Zeilen mit je einem fixen Text "Projekt" als Erklärung und einem Auswahlfeld. Links oben nehmen wir einen fixen Text: Element - Textfelder - Fixer Text (rechtsbündig oder linksbündig, das ist eine Geschmacksfrage). Dann rechts davon ein Auswahlfeld Element - Positionsauswahl für die laufenden Projekte (z. B. Meier, Huber, Schmidt), in der Sprache der Kostenrechnung sind das die Kostenstellen, die der Benutzer später auswählen kann.

(3) Darunter verwenden wir nochmals einen fixen Text, diesmal als Text "Zeitraum". Rechts davon setzen wir wiederum ein Auswahlfeld für den Zeitraum Element - Zeitraumauswahl.

(4) Jetzt kommt das wichtigste Element: Element - Buttons - Skript starten. Als Text schreiben wir:


Skript starten'Rechnung.skt

(5) Und daneben noch einen normalen Schließen-Button Element - Buttons - Schließen.

(6) Für die Texte und die Buttons können wir noch eine kleinere Schrift wählen, indem wir die vier Dialogelemente bei gedrückter Großschreibetaste mit der Maus (links Einfachklick) selektieren und dann auf den Schrift Button drücken. Das Dialogfenster können wir auch noch kleiner ziehen.

(7) Jetzt wenden wir uns der Skriptdatei zu. Diese erreichen wir am einfachsten, indem wir den Skript-Button selektieren und dann in das Text-Eingabefeld (dort wo "Rechnung.skt" steht) doppelklicken. Es öffnet sich ein Editor. Die Skript-Datei wird im Firmen-Hauptverzeichnis und nicht im Verzeichnis "Formulare" abgespeichert.

Im Prinzip schreiben wir das Skript so, wie es im Kapitel über Skripte beschrieben ist. Wir können aber nun auf die Werte der Elementvariablen zugreifen, indem wir die Namen der Elementvariablen in spitzen Klammern im Skript verwenden. Spitze Klammern werden in TEXTBUCH Skripten nicht anderweitig verwendet.

Um die Elementvariablen bequem in das Skript zu übertragen, kann man in das Eingabefeld rechts von Name doppelklicken. Es wird dann der Name der selektierten Elementvariablen incl. spitzer Klammern in die Zwischenablage gespielt.

Wenn Sie nur am Zusammenspiel Formulare - Skripte interessiert sind, dann schreiben Sie in das Skript lediglich:


***Datei Rechungsliste.txt Positionsauswahl: <POSAUSWAHL1> Zeitraum: <ZEITRAUM1>

Es wird eine Datei Rechnungsliste.txt angelegt, in die je nach Auswahl des Benutzers z.B. geschrieben wird:


Positionsauswahl: Meier Zeitraum: Quartal2

Für eine ernsthafte Datenausgabe im Rahmen des Beispiels aus der Kostenrechnung kann das Skript wie folgt aussehen:


***Datei Rechnungsliste.txt

Rechnung für <POSAUSWAHL1>: Auflistung der Positionen im Zeitraum <ZEITRAUM1> Einzelpreise sind Netto-Preise

***Buchungszeitraum ist <ZEITRAUM1> ***Buchtyp Aufwand ***Buchfilter *<POSAUSWAHL1>* ***KBUTEXT 50 ***leere Kontenmengen zulassen //ist Vorausetzung für separate Ausführung des Skriptes ***neu {BUDATUM} {KBUTEXT} {BBETRAG} ========= Rechnungspreis netto [=SUMN] ***SUMM = SUMN * 0,19 ***SUMB = SUMN * 1,19 19% Mehrwertsteuer [SUMM] Rechnungspreis brutto [SUMB]

***Datei blau //schließt das Schreiben der Datei Rechnungsliste.txt ab Aufruf Editor für Rechnungsliste.txt ***Ausgabeeditor Rechnungsliste.txt

Bei Interesse sehen Sie sich für die einzelnen Skript-Befehle bitte die folgenden Kapitel im Hauptkapitel "Skripte" an:

Wichtig ist in diesem Zusammenhang, dass die Elementvariable mit dem Positionsbezeichner <POSAUSWAHL1> in der Zeile "***BUCHFILTER" davor und danach ein Sternchen enthält. Der Befehl "***BUCHFILTER" sucht dann Buchungssätze, deren Buchungstext den Positionsbezeichner, z.B. $Meier, enthält, denn das Sternchen steht für beliebigen Text. Programmtechnisch werden nicht wirklich Positionen (Kostenträger) berechnet, sondern nur die Buchungstexte nach dem gewünschten Ausdruck durchsucht und alle Buchungssätze, die $Meier enthalten, werden untereinander aufgelistet.

(8) Der Button "Skript starten" ist übrigens der einzige, den man auch im Testmodus drücken darf. Also drücken wir den Radiobutton Testen und danach den Button zum Starten des Skriptes. Es sollte nun eine Datei Rechnungsliste.txt erzeugt und gleich im Editor angezeigt werden.

(9) Um den neuen Dialog ständig verfügbar zu haben, müssen Sie in eines der Skripte, die Sie regelmäßig ausführen, "***FORMULAR RECHNUNG.SKT" schreiben. Nach dem normalen Verarbeiten steht Ihnen der neue Dialog unter Ausgabe - Formulare zur Verfügung.

Hinweis: Da das Skript nicht unter Verarbeiten - Einstellungen - Programm angemeldet ist, erscheint es auch nicht im TEXTBUCH Hauptmenü unter Eingabe - Skripte. Um das Skript separat zu editieren, benutzen Sie stattdessen Eingabe - Sonstige öffnen.