Formular&Script 2023

Formular&Script / Tutorial: Formular erstellen

Schritt 3: Quelltext eingeben

Sie können entweder den vorhandenen Quelltext bearbeiten, oder aber ihn löschen und von Grund auf neu eingeben, indem Sie oben rechts auf die Schaltfläche Neu klicken. In diesem Fall bleiben nur die notwendigen Skript-Bereiche und Anweisungen erhalten:

  • BeginDocument: In diesem Bereich werden die Seitenränder des Formulars mit der Anweisung SetDocument vorgegeben. 
  • BeginHeader: In diesem und in den anderen beiden Bereichen sind die Höhendefinitionen mit der Anweisung SetArea als Kommentar eingefügt. Um die Höhendefinitionen zu setzen, entfernen Sie das Hochkomma vor der Anweisung und passen Sie den eingesetzten Wert nach Ihren Wünschen an.
  • BeginGraphicsText
  • BeginFooter

Ihren Quelltext können Sie über die Drop-down-Listen auf der rechten Seite des Dialogs einfügen.

So legen Sie die maximale Höhe eines Bereichs fest:

  1. Entfernen Sie im jeweiligen Bereich das Hochkomma vor der Anweisung SetArea
  2. Geben Sie den gewünschten Wert ein, z. B. 500.

 

Layout anzeigen

 

Mit dieser Funktion können Sie die einzelnen Formularbereiche visualisieren und dadurch Ihren Quelltext während der Bearbeitung fortwährend überprüfen. In der Layoutdarstellung wird ersichtlich, wo ein Bereich anfängt und wo er zu Ende ist. 

Voraussetzung:

  • Sie haben den Formulareditor aus dem Druckdialog heraus geöffnet.

Wenn Sie den Formulareditor aus dem Bereich Vorgaben>Druckformulare heraus öffnen, ist keine Vorschau verfügbar.

So zeigen Sie das Layout an:

  1. Klicken Sie auf die Registerkarte Vorschau anzeigen
  2. Aktivieren Sie unter dem Vorschaufenster die Checkbox Layout. Die einzelnen Formularbereiche werden angezeigt und sind farblich gekennzeichnet.
Texte ausgeben

 

Damit ein Text im späteren Ausdruck ausgeben wird, geben Sie in den Bereich BeginGraphicsText die Anweisung DrawText ein. Es können mehrere BeginGraphicsText-Bereiche definiert werden.

So fügen Sie Text ein, der im Ausdruck ausgegeben wird:

  1. Fügen Sie im Bereich BeginGraphicsText die Anweisung DrawText(text, left, top, width, height[, alignment]) ein.
  2. Ersetzen Sie text durch den Text, der in Ihrem Ausdruck angezeigt werden soll, und setzen Sie ihn in Anführungszeichen. Geben Sie die Werte für die Abstände zum Seitenrand (links und oben), die Breite und die Höhe ein.
  3. Weitere Information dazu finden Sie in der Beschreibung der Anweisung DrawText.

Vorlage

personifizierter Text

 

Texte formatieren

 

Sie können die Ausgabetexte nach Belieben und für jeden BeginGraphicsText-Bereich einzeln formatieren. Die Formatierung erfolgt über die folgenden Anweisungen:

Formatierung

Anweisung

Schriftart

SetTextFont(name)

Schriftgrösse

SettTextSize(size)

Schriftfarbe

SetTextColor(color)

Fett

SetTextBold(bold)

Kursiv

SetTextItalic(italic)

Unterstrichen

SetTextUnderline(underline) 

Textausrichtung (links, rechts, zentriert) 

SetTextAlignment(align)

 

Im folgenden Beispiel werden zunächst der Dokumentbereich und die Schriftfarbe definiert und dann Schriftgrösse, Schriftstil, Schriftart und Textausrichtung festgelegt.

Dafür werden die entsprechenden Anweisungen in den jeweiligen Textbereich eingefügt. Die Formatierung ist jeweils bis zur nächsten Formatierungsanweisung gültig. Die Textausrichtung kann innerhalb der DrawText-Anweisung definiert werden.

 

So definieren Sie den Dokumentbereich und die Schriftfarbe:

  1. Um für alle 4 Seiten des Dokuments einen Rand von jeweils 15 mm zu definieren, geben Sie im Bereich BeginDocument für die Anweisung SetDocument die Werte (150, 150, 150, 150) ein. 
  2. Definieren Sie eine Konstante für die Textfarbe.

So legen Sie Schriftfarbe, Schriftstil, Schriftgrösse und Schriftart fest:

  1. Legen Sie im Bereich BeginGraphicsText mithilfe der Anweisung SetTextColor(color) die Schriftfarbe Rot fest. 
  2. Legen Sie mit der Anweisung SetTextItalic(italic) den Schriftstil kursiv fest. Zur eigenen Information können Sie einen Kommentar eingeben, z. B.: 'Schriftstil: kursiv. 
  3. Legen Sie mit der Anweisung SetTextSize(size) die Schriftgrösse auf 9 Punkt fest. 
  4. Legen Sie mit der Anweisung SetTextFont(name[, pdffontname]) die Schriftart Arial fest. 
  5. Legen Sie der Anweisung DrawText das Absatzformat zentriert fest. 
  6. Wiederholen Sie diese Schritte für den zweiten Textbereich mit den folgenden Werten:  zu 3.: SetTextBold(bold) (fett), zu 4.: (16), zu 5.: Courier und zu 6.: ALIGN_RIGHT (rechtsbündig)

 

Kopf- und Fusszeilen definieren

 

Im folgenden Beispiel wird in der Kopfzeile die Formularüberschrift eingefügt und in der Fusszeile die Seitennummer. Der Text für die Kopfzeile wird im Bereich BeginHeader und der Text für die Fusszeile im Bereich BeginFooter eingefügt. Zunächst werden im Bereich BeginDocument die im Verlauf des Skripts benötigten Variablen definiert, das sind Breite und Höhe der Seite, Seitennummer.

So definieren Sie die Variablen:

  1. Definieren Sie im Bereich BeginDocument mit der Anweisung dim variable as type [=value] die Variable für die Seitennummer.

So definieren Sie die Kopfzeile:

  1. Legen Sie im Bereich BeginHeader die maximale Höhe der Kopfzeile auf 15 mm fest. 
  2. Legen Sie die Schriftgrösse fest und geben Sie einen Ausgabetext ein.

So definieren Sie die Fusszeile:

  1. Legen Sie im Bereich BeginFooter die maximale Höhe der Fusszeile auf 15 mm fest. 
  2. Fügen Sie über die Anweisungen set variable to value und DrawText die Seitennummer ein. Verknüpfen Sie dabei die zwei Zeichenketten Seite und seitenNummer mit dem Operator +.

 

Grafiken einfügen

 

Im folgenden Beispiel wird unter der Kopfzeile und über der Fusszeile eine horizontale Linie eingefügt. Dafür wird die Anweisung DrawHorizontalLine in den Bereichen BeginHeader und BeginFooter eingefügt.

So fügen Sie eine Linie ein:

  1. Definieren Sie im Bereich BeginDocument die Linienstärke mit der Anweisung SetLineWidth, in unserem Beispiel sind das 0,1 mm.
  2. Fügen Sie im Bereich BeginHeader mit der Anweisung DrawHorizontalLine eine Linie unter dem Text der Kopfzeile ein. Die Position wird in diesem Beispiel auf den Wert 120 festgelegt, d. h. die Linie befindet sich 12 mm unterhalb der Position, an der die Kopfzeile beginnt.
  3. Fügen Sie im Bereich BeginFooter mit der Anweisung DrawHorizontalLine eine Linie im Bereich der Fusszeile ein. Die Position wird in diesem Beispiel auf den Wert 0 festgelegt, d. h. die Linie befindet sich genau dort, wo die Fusszeile beginnt.

Linie einfügen

 

Logos und Hintergrundbilder einfügen

 

Globale Bilder werden immer innerhalb der Firma verwendet, in der sie hinterlegt sind. Dadurch können Sie für verschiedene Firmen das gleiche Druckformular verwenden, auch wenn unterschiedliche Logos eingesetzt werden sollen. Dazu müssen die Bilddateien in der jeweiligen Firma im Bereich Vorgaben>Bilder jeweils mit genau dem gleichen Dateinamen hinterlegt sein. Beim Drucken der Formulare wird dann das entsprechende Bild für die jeweilige Firma verwendet.

Voraussetzungen:

  • Die Bilder sollten im Tiff- oder JPG oder PNG-Format mit mindestens 300 dpi vorliegen. Die Konvertierung in eine davon abweichende Druckerauflösung erfolgt automatisch. 
  • Die Bilder müssen im Bereich Vorgaben>Bilder, d. h. als globale Bilder, hinterlegt sein.

 

Logos

 

Im folgenden Beispiel wird ein Firmenlogo in den Kopfbereich eingefügt. Dafür wird in den Bereich BeginHeader die Anweisung DrawPicture hinzugefügt.

So fügen Sie eine Bilddatei ein:

  1. Fügen Sie im Bereich BeginHeader mit der Anweisung DrawPicture("logo.tif", 1500, 20) die Bilddatei mit 150 mm Abstand zum linken und 2 mm Abstand zum oberen Rand des Bereichs ein. Die Grösse des Logos wurde zuvor mit einem Bildbearbeitungsprogramm für die Ausgabe angepasst. Es ist aber auch möglich, das Bild über die Parameter der DrawPicture-Anweisung zu skalieren.

 

Hintergrundbilder

 

Hintergrundbilder werden im Bereich BeginBackground, ebenfalls über die Anweisung DrawPicture, hinzugefügt. Um das Bild an die Seitengrösse anzupassen, können Sie die optionalen Parameter Höhe (destHeight) oder Breite (destWidth) der DrawPicture-Anweisung verwenden. Sie können das Bild aber auch vor dem Einfügen mit einem Bildbearbeitungsprogramm an die Seitengrösse anpassen.

So fügen Sie ein Hintergrundbild ein:

  1. Definieren Sie den Bereich BeginBackground, indem Sie ihn vor dem Bereich BeginHeader einfügen. 
  2. Fügen Sie das Hintergrundbild mit der Anweisung DrawPicture(name, left, top[, destWidth, destHeight]) ein. Die Parameter der Anweisung definieren den Namen der Bilddatei, den Abstand zum linken Rand, den Abstand zum oberen Rand und optional die Breite und Höhe, in der das Bild ausgegeben wird in der genannten Reihenfolge. Im Beispiel wird die Breite des Bilds entsprechend der Seitenbreite des definierten Druckbereichs skaliert. Der Wert -1 für den Parameter Höhe (destHeight) gibt an, dass die Breite des Bilds automatisch entsprechend dem Bildverhältnis angepasst wird.

Hintergrundbilder und Logos können auch, wie bei den Auftragsformularen, über die Include-Datei TEMPLATE Briefpapier A4 hoch eingefügt werden. Diese Datei definiert das Aussehen des Briefpapiers und kann in allen Dokumenten mit der include-Anweisung eingebunden werden. Die Include-Datei TEMPLATE Briefpapier A4 hoch können Sie im Bereich Vorgaben>Druckfomulare ändern.Möchten Sie ein vollformatiges A4-Bild hinterlegen, setzen Sie die Position von links und von oben je auf einen Wert von -150. Beispiel: DrawPicture("logo.tif", -150, -150)

 

Tabellen einfügen

 

Ein wichtiger Bestandteil eines Auftragsformulars oder Bestellformulars ist die Tabelle. In einer Tabelle werden die einzelnen Positionen des Belegs dargestellt. Tabellen werden im Skript mit den Bereichen BeginTableHeader (Kopfbereich), BeginTableRow und BeginTableFooter (Fussbereich) definiert. Die Bereiche BeginTableHeader und BeginTableFooter müssen bei der Ausgabe einer Tabelle immer vorhanden sein.

Im folgenden Beispiel wird eine Tabelle mit 4 Spalten, einem Kopfbereich, mehreren Zeilen und einem Fussbereich erstellt.

So fügen Sie eine Tabelle ein:

  1. Definieren Sie die Bereiche BeginTableHeader und BeginTableFooter
  2. Legen Sie mit der Anweisung SetArea die maximale Höhe des Tabellenkopfs fest. 
  3. Fügen Sie die Anweisung SetCurrentTable(name) ein. Ersetzen Sie dabei name durch den Namen der Tabelle und setzen Sie ihn in Anführungszeichen, um die Tabelle anzugeben, aus der die Daten bezogen werden. In diesem Beispiel wurde das Formular aus dem Bereich Verkauf>Verkaufsbelege heraus erzeugt, deshalb enthält das Drop-down-Menu lediglich den Eintrag Positionen.
  4. Definieren Sie mit der Anweisung DrawText die Spaltenbezeichnungen.
  5. Fügen Sie zwischen den Kopfbereich und den Fussbereich den Bereich BeginTableRow ein, um die Ausgabe der Tabellenzeilen zu definieren. Für jede Spalte muss hier die Ausgabe der Werte definiert werden. Die Anzahl der Zeilen ergibt sich aus der Anzahl der Datensätze der ausgewählten Tabelle. Die auszugebenden Positionen können Sie aus der Liste Felder (Tabelle) auswählen. In unserem Beispiel werden in der Spalte 3 und 4 Preise ausgegeben, deshalb müssen diese innerhalb der DrawText-Anweisung mit der Funktion Format(value, format) als Text formatiert werden.
  6. Um eine Summe zu ermitteln, z. B. im Fussbereich der Tabelle, müssen die einzelnen Werte zusätzlich für jede Spalte in einer Variable aufsummiert werden. Definieren Sie im Bereich #BeginDocument mit der Anweisung dim variable as type die benötigten Variablen.
  7. Bilden Sie im Bereich #BeginTableRow mit der Anweisung set variable to value die Summen.
  8. Definieren Sie im Bereich #BeginTableFooter die Ausgabe der Summen.
  9. Erstreckt sich die Tabelle über mehrere Seiten, können Sie vor einem Seitenumbruch Texte, wie z. B. Zwischensummen, ausgeben, indem Sie den Bereich BeginTableBreak einfügen.
  10. Klicken Sie auf die Registerkarte Vorschau, um die Vorschau für das Formular anzuzeigen.

 

Der angegebene Tabellenname muss mit dem Tabellennamen im Drop-down-Menu des Formulareditors übereinstimmen. Das Drop-down-Menü für die Tabelle enthält nur dann Einträge, wenn die Formulare aus den Bildschirmlisten oder Auswertungen heraus erstellt bzw. bearbeitet werden. Es enthält keine Einträge, wenn das Formular aus dem Bereich Vorgaben>Druckformulare erstellt wird.