Startseite


Grundsätzlicher Ablauf der Textformularerstellung

Aus den Ergebnissen der Abfragen der Textformulardefinition wird eine hierarchisch strukturierte XML-Datei erzeugt. Wenn für Word-Textformulare kein Hauptdatensatz (aus der obersten Abfrage des Abfragenbaumes) ermittelt werden konnte, oder wenn bei PDF-Textformularen mehr als ein Hauptdatensatz ermittelt wurde, bricht die Erstellung mit einer Problemmeldung ab.

  1. Die XML-Datei (Name + Zeitstempel) wird im Verzeichnis %user.home%\Asys7\temp abgelegt.
  2. Die Steuerdatei (Name + Zeitstempel) wird ins Verzeichnis %user.home%\Asys7\temp kopiert.
  3. Die Metadatendatei (Steuerdateiname + Zeitstempel) mit der Dateiendung .da1 wird im Verzeichnis %user.home%\Asys7\temp angelegt.
  4. Word wird mit der Steuerdatei geöffnet.
  5. Ablauf des in der Steuerdatei enthaltenen Word-Makros:
    1. Auswertung der Metadatendatei.
    2. Prüfung, ob alle für die Erstellung des Word-Dokumentes erforderlichen Word-Vorlagen vorhanden sind. Die Vorlagendateien müssen vor der Dateiendung genauso benannt sein, wie die Knoten im Abfragebaum.
    3. Sofern eine Textbausteindatei angegeben ist, werden die Textbausteine über einen Word-Dialog abgefragt.
    4. Abarbeiten des Inhalts der XML-Datei. Je Knoten muss es eine Word-Vorlage geben. Die Anzahl der Treffer der Abfrage des Knotens entscheidet, wie oft eine Word-Vorlage in das Enddokument geladen wird (1 Treffer (Datensatz) = 1 Word-Vorlage). Sofern es mehr als einen Hauptdatensatz gibt, werden so viele Enddokumente erstellt, wie es Hauptdatensätze gibt. Je Datensatz findet folgender Ablauf statt:
      1. Laden der Word-Vorlage; sofern es sich um einen Unterknoten handelt, wird geprüft, ob es eine Textmarke mit dem Namen des Unterknotens gibt; im Positivfall wird die Word-Vorlage an der Stelle eingefügt, an der sich diese Textmarke befindet; ansonsten wird die Word-Vorlage hinten an das Dokument angehängt.
      2. Alle globalen Formularparameter und Textbausteine, für die es identisch benannte Textmarken im Dokument gibt, ersetzen diese durch den dort enthaltenen Inhalt.
      3. Die drei automatisch in jeder XML-Datei enthaltenen Parameter 'execDate' (Erstellungsdatum in Kurzform, z.B. 01.01.2021), 'execUser' (Loginname des Nutzers) und 'execDateLang' (Erstellungsdatum in Langform, z.B. 01. Januar 2021), für die es identisch benannte Textmarken im Dokument gibt, ersetzen diese durch den dort enthaltenen Inhalt.
      4. Alle Textmarken, die eine namentliche Übereinstimmung mit einem RESULT-Parameter1) der zugehörigen Abfrage haben, werden durch den Inhalt ihres RESULT-Parameters ersetzt.
      5. Alle Textmarken (außer denen für Unterknoten), die nicht durch einen Formularparameter, Textbaustein oder ein RESULT ersetzt werden konnten, werden gelöscht.
      6. Dieser Ablauf wird - ggf. rekursiv - für alle Abfragebaumknoten und Daten der XML-Ergebnisdatei wiederholt.
    5. Sofern definiert, wird das / werden die Dokument(e) gespeichert.
    6. Sofern definiert, wird das / werden die Dokument(e) im PDF-Format gespeichert.
    7. Sofern definiert, wird das / werden die Dokument(e) gedruckt.
    8. Sofern definiert, wird Word nach der Erstellung des / der Dokumente(s) wieder geschlossen.
  6. Sofern definiert, wird das / werden die gespeicherte(n) Dokument(e) in die Dokumentenliste des Nutzdatensatzes (Hauptdatenkategorie) aufgenommen. Hierfür wartet ein ASYS Oberflächen-Prozess so lange, bis die Datei(en) erstellt wurden. Der Prozess wartet nur eine durch den ASYS-Fachadministrator global einstellbare Zeitspanne. Wenn diese Zeitspanne abgelaufen ist und das Dokument nicht gefunden werden kann, erfolgt kein Eintrag in der Dokumentenliste.
  7. Beim Beenden der ASYS Oberfläche wird das Verzeichnis %user.home%\Asys7\temp gelöscht.

Ab ASYS V7.10 können neben Word-Textformularen auch PDF-Textformulare definiert und erstellt werden. Die Erstellung der PDF-Dokumente aus den PDF-Textformulardefinitionen erfolgt ausschließlich aus ASYS heraus ohne Aufruf externer Software (wie dies bei Word oder Excel der Fall ist). Die PDF-Erstellung findet vollständig im Arbeitsspeicher statt.

Die prinzipielle Konfiguration eines PDF-Textformulars gleicht einem Word-Textformular (s. Textformulare).

  1. Die XML-Datei (Normierter Formularname + Zeitstempel) wird im Verzeichnis %user.home%\Asys7\temp abgelegt. Die Datei dient nur der Kontrolle, ob die Abfragen für das Textformular korrekt funktionieren. Für den weiteren Programmablauf wird die Datei weder benötigt noch verwendet.
  2. Abarbeiten des Inhalts der XML-Datei.
    1. Laden der PDF-Hauptvorlage.
      1. Alle Formularfelder, die eine namentliche Übereinstimmung mit einem globalen Formularparameter (s.o. Zu (5)) oder Textbaustein haben, werden mit dem dort enthaltenen Inhalt gefüllt.
      2. Alle Formularfelder, die eine namentliche Übereinstimmung mit einem RESULT-Parameter der zugehörigen Abfrage haben, werden mit dem Inhalt des RESULT-Parameters gefüllt.
      3. Für Unterknoten (abhängige Daten) gibt es verschiedene Varianten, wie diese definiert und damit in das Enddokument übernommen werden.
        1. Eigene PDF-Vorlage (ohne Rollbereichsdefinition im übergeordneten Dokument):
          1. Laden der PDF-Vorlage; die PDF-Vorlage wird immer am Ende angefügt.
          2. Alle Formularfelder, die eine namentliche Übereinstimmung mit einem globalen Formularparameter oder Textbaustein haben, werden mit dem dort enthaltenen Inhalt gefüllt.
          3. Alle Formularfelder, die eine namentliche Übereinstimmung mit den in jeder XML-Datei enthaltenen Parametern 'execDate' (Erstellungsdatum in Kurzform, z.B. 01.01.2021), 'execUser' (Loginname des Nutzers) und 'execDateLang' (Erstellungsdatum in Langform, z.B. 01. Januar 2021) haben, werden mit dem dort enthaltenen Inhalt gefüllt.
          4. Alle Formularfelder, die eine namentliche Übereinstimmung mit einem RESULT-Parameter der zugehörigen Abfrage haben, werden mit dem Inhalt ihres RESULT-Parameters gefüllt.
          5. Für Unterknoten (abhängige Daten) usw.
        2. Es gibt eine feste Rollbereichsdefinition (Der Name des Formularfeldes ist der Name des Unterknoten [KNOTEN] und endet auf '_ROLLBEREICH', '_ROLLBEREICH_K' oder '_ROLLBEREICH_S'):
          1. Alle Treffer (Datensätze) und RESULTs der Abfrage (Ergebnisspalten) werden zusammen ausgewertet und in das eine Formularfeld geschrieben; sofern es mehrere RESULTs gibt, werden diese durch Leerzeichen getrennt zusammengefügt; die Treffer (Datensätze) werden, je nach Typ des Rollbereichs zusammengefügt:
            1. _ROLLBEREICH = Mit Zeilenumbruch und Leerzeile zwischen den Treffern.
              1. Ein gleichbenanntes Rollbereichsfeld kann im Hauptformular und im Unterknoten [KNOTEN]_ROLLBEREICH definiert sein. Sofern definiert, wird geprüft, ob der Inhalt vollständig in das Rollbereichsfeld des Hauptformulars passt. Wenn dies der Fall ist, wird das Rollbereichsfeld des Hauptformulars gefüllt und kein weiteres Unterformular angehängt. Wenn dies nicht der Fall ist (also mehr Text vorhanden ist), wird in das Hauptdokument der Text 'siehe separates Beiblatt' geschrieben und das Unterformular (das Beiblatt/die Beiblätter) werden gefüllt. Eine zuverlässige Verarbeitung kann hierbei zugesagt werden, wenn für das Rollbereichsfeld eine der Standard-PDF-Schriftarten Helevetica (beim PDF-XChange-Editor wird Arial angezeigt, es muss aber Helvetica ausgewählt werden, um die korrekte Schriftart zu erhalten), Times New Roman oder Courier verwendet wird.
            2. _ROLLBEREICH_K = Kommasepariert.
            3. _ROLLBEREICH_S = Semikolonsepariert.
        3. Es gibt benannte Rollbereichsfelder - [KNOTEN].$[NR].[RESULT] - im übergeordneten Dokument:
          1. Die Rollbereichsfelder im übergeordneten Dokument werden aufgefüllt, bis alle belegt sind.
          2. Wenn es noch weitere Treffer gibt, wird die PDF-Vorlage mit dem KNOTEN-Namen geladen und am Ende des Dokumentes angefügt.
          3. Alle Rollbereichsfelder werden gefüllt.
          4. Wenn es noch weitere Treffer gibt → Fortfahren mit b.
    2. Sofern in den Dokumenten Formularfelder als Seitenzahl definiert sind - SEITE[NR] -, werden diese gefüllt.
  3. Das PDF-Dokument wird gespeichert (bei zu signierenden Dokumenten jedoch nur, sofern die Signatur erfolgreich angebracht werden konnte).
  4. Sofern definiert, wird das Dokument fortgeschritten oder qualifiziert signiert. Hierfür wird dringend empfohlen, in dem PDF-Formular ein Signaturfeld zu definieren. Ansonsten wird die Signatur auf der letzten Seite links unten angebracht. Sollte dort nicht genügend Platz zur Verfügung stehen, kann das PDF-Formular ggf. nicht signiert und damit auch nicht gespeichert werden.
  5. Sofern eine Signatur angebracht werden soll, werden die folgenden Punkte nur durchgeführt, wenn die Signatur erfolgreich angebracht werden konnte.
  6. Sofern ein Mitteilungszweck definiert ist:
    1. Es wird eine Mitteilung erzeugt. Thema und Bezug werden hierbei automatisch gefüllt - s. Dokument 'Empfehlungen zur Nutzung von Mitteilungen V04'. Zweck und Text (optional) werden aus der Textformulardefinition genommen.
    2. Das PDF-Dokument wird als Anhang in die Mitteilung gehängt und die Mitteilung wird gespeichert. Die Mitteilung kann nachträglich weder geändert noch signiert werden.
    3. Die Mitteilung wird bei den verknüpften Mitteilung eingetragen.
    4. Der BMU-Versand-Dialog für die Mitteilung wird geöffnet bzw. die Mitteilung wird automatisiert versandt, sofern es einen festen definierten Adressaten gibt.
    5. Auch wenn der Versand der Mitteilung nicht durchgeführt werden konnte, bleibt die Mitteilung erhalten.
  7. Sofern definiert, wird das Dokument in die Dokumentenliste aufgenommen.

Für ein PDF-Textformular werden PDF-Formulare als Vorlagedateien benötigt, in welche die Feldinhalte aus ASYS eingetragen werden. Zur Erstellung eines PDF-Textformulars wird ein geeignetes Editorprogramm2) benötigt, welches nicht im Lieferumfang von ASYS enthalten ist, sondern separat beschafft werden muss.

  • Formularfelder nach dem Standard AcroForm. Die nachfolgenden Screenshots A bis D zeigen die Darstellung in einem PDF-Formulareditor.
  • Nur Textfelder (1),(10), Ankreuzfelder (2) und ggf. ein Signaturfeld.
  • Rollbereiche in unterschiedlichen Ausprägungen
    • als wiederholbarer Block von Einzelfeldern (3), fortsetzbar auf einem Unterformular/Unterknoten des Hauptdokuments (siehe Screenshots A und C).
    • als Tabelle (4) mit einer Zeile pro Listeneintrag, fortsetzbar auf einem Unterformular/Unterknoten des Hauptdokuments (siehe Screenshots A und D).
    • als ROLLBEREICH (7) mit allen Listeneinträgen in einem Feld (siehe Screenshot B).
    • als ROLLBEREICH_K (8) mit allen Listeneinträgen kommasepariert in einem Feld (siehe Screenshot B).
    • als ROLLBEREICH_S (9) mit allen Listeneinträgen semikolonsepariert in einem Feld (siehe Screenshot B).
  • Feldname
    • Für Einzelfelder Übereinstimmung mit dem Namen im Abschnitt RESULT der Abfrage (1),(10) und (2).
    • Für Rollbereiche Übereinstimmung mit [KNOTEN].$[NR].[RESULT] für wiederholbaren Block von Einzelangaben (3) oder Tabelle (4).
      • KNOTEN = Name des Unterknotens
      • $NR = laufende Nummer des Listeneintrags; NR ist zu ersetzen durch eine ganze Zahl ab 1 → $1, $2, $…; in Unterformularen wieder beginnend bei $1.
      • RESULT = Name der Ergebnisspalte; Übereinstimmung mit dem Namen im Abschnitt RESULT der Abfrage des Unterknotens.
    • Für Rollbereiche in einem Feld [KNOTEN]_ROLLBEREICH[OPTION], vergl. (7), (8) und (9)
      • KNOTEN = Name des Unterknotens
      • ROLLBERECH = vorgegebenes Suffix des Knotennamens
      • OPTION = optionale Ergänzung für die Art der Trennung der Rollbereichselemente im Feld
        • entfällt → Trennung durch Leerzeilen
        • K → Trennung durch Komma
        • S → Trennung durch Semikolon
  • Spezielle Notation für automatisch fortlaufende Seitenzahlen SEITE[NR] (11) - für jede PDF-Vorlage beginnend mit SEITE1.
  • Spezielle Parameter Ausführungsdatum 'execDate' (5) und ausführender ASYS-Nutzer 'execUser' (6).
    • Für das Ausführungsdatum steht alternativ auch der Parameter 'execDateLong' zur Verfügung mit ausgeschriebenem Monatsnamen.
  • Das Verhalten der Formularfelder wird vollständig in PDF-Vorlage definiert (Rahmen, schreibgeschützt, Schriftart und -größe, mehrzeilig, Ausrichtung).
    • Schreibgeschützte Felder werden in der Verarbeitung mit dem jeweiligen Inhalt befüllt, können aber in einem PDF-Viewer (z.B. Acrobat Reader) nicht mehr bearbeitet werden.
    • Nicht als schreibgeschützt ausgezeichnete Felder können auch nach Erstellung des PDF-Dokuments in einem PDF-Viewer bearbeitet werden (bläulich schattierte Felder in Screenshot E).
    • Je nach Formulareditor können die Feldinhalte mit einer fest eingestellten Schriftgröße oder auch dynamischer Schriftgröße angezeigt werden.
      • Fest eingestellte Schriftgröße lässt ggf. nur einen Teil des Feldinhalts sichtbar sein.
      • Dynamische Schriftgröße passt die Schriftgröße bei viel Inhalt an (Schriftgröße wird verkleinert), erschwert aber ggf. die Lesbarkeit.
Screenshot Bezeichnung/Erläuterung
Screenshot A: Erste Seite einer PDF-Beispielvorlage Screenshot A: Erste Seite einer PDF-Beispielvorlage mit

- Einzelfeldern vom Typ Text (1) oder Ankreuzfeld (2)
- Strukturierter Rollbereich mit einzelnen Textfeldern (3)
- Tabellarischer Rollbereich (4)
- Erstellungsdatum (5) und Kennung des die Dokumenterstellung ausführenden ASYS-Nutzers (6).
Screenshot B: Zweite Seite einer PDF-Beispielvorlage Screenshot B: Zweite Seite einer PDF-Beispielvorlage mit

- Rollbereich in einem Textfeld mit je einer Zeile pro Eintrag (7)
- Rollbereich in einem Textfeld mit durch Kommata getrennten Einträgen (8)
- Rollbereich in einem Textfeld mit durch Semikola getrennten Einträgen (9)
- Textfeld eines freien Parameters (10)
- Seitenzahlfeld (11)
Screenshot C: Beispiel eines strukturierten Rollbereiches in einer Tochtervorlage Screenshot C: Beispiel eines strukturierten Rollbereiches in einer Tochtervorlage mit

- Erweiterung des strukturierten Rollbereichs aus Screenshot A (3)
- Seitenzahlfeld (11)

Hinweis: Diese Tochtervorlage wird bei der Erstellung des Dokuments nur genutzt, wenn mehr Einträge - hier Personen - vorhanden sind, als im Rollbereich des Hauptdokuments eingetragen werden können (vgl. Seite 1 & 3 in Screenshot E).
Screenshot D: Beispiel eines tabellarischen Rollbereiches in einer Tochtervorlage Screenshot D: Beispiel eines tabellarischen Rollbereiches in einer Tochtervorlage mit

- Erweiterung des tabellarischen Rollbereichs aus Screenshot A (4)
- Seitenzahlfeld (12)

Hinweis: Diese Tochtervorlage wird bei der Erstellung des Dokuments nur genutzt, wenn mehr Einträge - hier Abfallarten - vorhanden sind, als im Rollbereich des Hauptdokuments eingetragen werden können (vgl. Seite 1, 4 & 5 in Screenshot E).
Screenshot: Beispielsignatur Beispielsignatur
Screenshot E: Beispielergebnis3)
Screenshot E: Beispielergebnis

Tipp: Die Screenshots werden in der vorstehende Tabelle teilweise verkleinert angezeigt. Ein Linksklick öffnet eine Tochterseite, in der alternative Wiedergabegrößen angeboten werden.


Weitere Informationen zu dieser Maske
keine
landesspezifische Zusatzinformationen: SH HH NI HB NW HE RP BW BY SL BE MV ST BB TH SN

Zurück zum Seitenanfang


1)
Der Name eines Ergebnisses im RESULTS-Abschnitt einer Textformularabfrage - NICHT der in geschweiften Klammern stehende Fachobjektname! - muss ein exaktes Pendant als Textmarkenname in der jeweiligen Vorlagedatei besitzen.
2)
Programme zur Erstellung oder Bearbeitung von PDF-Textformularen sind nach unserer Kenntnis nicht kostenfrei verfügbar. Neben den Produkten von Adobe stehen auch mehrere Alternativen zu günstigeren Lizenzkosten zur Verfügung. Die Textformularvorlagen zum Test der Funktionalität wurden mit Foxit PhantomPDF erstellt.
3)
Dieses Beispieldokument wurde mit einer geringfügig abweichenden PDF-Formularvorlage erstellt.
  • adm6/mrt/txtfrmabl.txt
  • Zuletzt geändert: 2024/03/16 11:40
  • von smeyer