Das technische Verfahren zur Erstellung von Dokumenten
Einzeldokumente am Beispiel eines Einzelbriefes
Dieses Kapitel beschreibt die wesentlichen Schritte, die bei der Erstellung eines Einzeldokumentes durchlaufen werden. Als Beispiel dient dabei eine Einzelbriefvorlage.
Ein neues Dokument soll basierend auf einer in der Anwendung existierenden Vorlage erstellt werden. In dem Dokument sollen Informationen aus der Anwendung dargestellt werden. Abschließend wird das Dokument in der Anwendung gespeichert. Der Prozess durchläuft dabei die folgenden Stationen:
![](../../../__attachments/10684251/image-20230825-215920.png?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Abbildung: Funktionsweise der Datenuebertragung bei Einzelbriefen
Schritt 1
Der Anwender prüft die notwendigen Kriterien für die Einzelbrieferstellung in der Aktivität.
Schritt 2
Er startet die Einzelbriefgenerierung über den Multifunktionsschalter Dokumente in der Menüleiste DropDown-Schalter - Neu – Dokument starten. Daneben kann es auch andere Wege geben, das Dokument zu starten, etwa durch einen Schalter auf der Oberfläche. Dann entfällt hier meist der folgende Schritt 3.
Schritt 3
Aus den verfügbaren Vorlagen wählt der Anwender die richtige Vorlage aus.
Schritt 4
Sollten der Aktivität mehrere Ansprechpartner zugeordnet sein, öffnet sich ein Auswahldialog, in dem der Anwender einen der zugeordneten Ansprechpartner der Aktivität als Adressat auswählen kann. Standardmäßig wird der Ansprechpartner aus dem Feld Aktivität mit in den rechten Bereich übernommen. Falls der Anwender mehrere Ansprechpartner auswählt, wird ein Miniserienbrief erstellt: pro ausgewähltem Ansprechpartner wird dabei ein eigenes Dokument generiert.
Schritt 5
Je nach Gestaltung des Aufrufs der Dokumenterstellung wird ein Dialog eingeblendet, in dem der Anwender einen Betreff für das Dokument vergeben kann. Dieser Betreff wird dem Dokumentdatensatz hinzugefügt und kann (wenn entsprechend konfiguriert) ein Teil des Namens werden. Der hier eigegebene Betreff steht jedoch nicht im Dokument selbst als Textmarke zur Verfügung.
Schritt 6
Im Hintergrund wird nun die Komplexe Suche ausgeführt. Dabei kann es dazu kommen, dass kein Datensatz selektiert wird, weil die Hauptsuche keine Datenfindet, die den Suchkriterien entsprechen. Dann wird die Dokumenterstellung mit einer Hinweismeldung abgebrochen.
Findet die Komplexe Suche mehr als einen Datensatz, erscheint ein weiterer Auswahldialog. Hier wird der Anwender aufgefordert, den richtigen Datensatz auszuwählen. Dieser Auswahldialog sollte dem Anwender deshalb die benötigten Informationen zeigen. Seine Spalten legt man in der Komplexen Suche fest: dort wird über den Haken in der Feldeigenschaft „Anzeige in Auswahlfenster“ festgelegt, dass das Feld in dieser Auswahlliste auftaucht.
Über die Pfeilschalter lässt sich die gewünschte Adresse in den unteren Auswahlbereich des Zuordnungsdialogs verschieben. Mit Bestätigen des Ok-Schalters wird der Datensatz in den unteren Auswahlbereich übernommen. Falls mehrere Sätze ausgewählt werden, wird ein Miniserienbrief erstellt.
Schritt 7
Im Hintergrund wird ein auf der ausgewählten Vorlage basierendes Dokument in das lokale Dokumentenverzeichnis des Anwenders kopiert (in der Regel [Windows-Anwenderverzeichnis]\tmp\document\[Versionsname]).
Schritt 8
Über die Komplexe Suche, die mit der Vorlage verknüpft ist, werden die Daten aus der Anwendung selektiert. In der Zuordnungstabelle („Mapping-Tabelle“) ist die Zuordnung zwischen Suchfeld und dem Feld in der Dokumentenvorlage festgehalten.
Schritt 9
Diese Daten werden an das lokale Dokument übertragen. Die Feldwerte werden dabei in die SET-Felder eingefügt. Die REF - Felder werden aktualisiert und erhalten so die übergebenen Daten. Nach dieser Aktualisierung werden die SET-Felder entfernt. Zudem wird die Verknüpfung der REF-Felder gelöst, so dass nach dieser Aktion in dem generierten Einzelbrief weder SET- noch REF-Felder vorliegen.
Schritt 10
Das Dokument wird lokal gespeichert und anschließend an den Applikationsserver übergeben. Dieser speichert das übergebene Dokument in einem separaten Dokumentenverzeichnis, welches sich in der Regel auf dem Server befindet. Das Verzeichnis zum Speichern der Dokumentdateien kann über einen Systemeintrag konfiguriert werden. In der Regel kann ein Anwender auf dieses Verzeichnis nicht zugreifen. Hierdurch ist ein Zugriff auf die Dokumente unter Umgehung der Anwendung nicht möglich. Der Zugriff durch die Anwendung erfolgt ausschließlich über den Applikationsserver und kann durch die Rechtevergabe eingeschränkt werden.
Schritt 11
Es wird ein neuer Dokumentensatz im System erzeugt. Dieser enthält eine Referenz auf das Dokument in dem Server-Dokumentenverzeichnis.
Schritt 12
Der Einzelbrief wird mit der Aktivität und anderen Entitäten verknüpft und angezeigt.
Schritt 13
Soll das Dokument erneut bearbeitet werden, wird das Dokument aus dem Server-Dokumentenverzeichnis in das lokale Dokumentenverzeichnis des Anwenders kopiert und anschließend geöffnet (weitere Details im Abschnitt Ausleih- und Rückgabeverfahren).
Serienbriefe
Internationalisierung der Serienbriefvorlagen
In älteren Versionen wurde der internationalisierte Name eines Feldes als MERGEFIELD (Feldname aus der Steuerdatei) im Serienbriefdokument gespeichert. Das hat einen erheblichen Nachteil: Es ist problematisch, die Serienbrieffelder für mehrere Sprachen oder Konfigurationsgruppen sauber abzubilden. Bei jeder Änderung der Internationalisierung eines Feldes ist die Anpassung des Feldnamens in der Serienbriefvorlage notwendig.
Um dieses Problem zu lösen, wurde ein neues Verfahren entwickelt, wie die Vorlagen und die Briefe trotz sich zwischenzeitlich ändernder Maskenbezeichnungen der Felder problemlos eingesetzt werden können.
Ziele des Verfahrens sind:
Für den Anwender soll sich nichts ändern: er bekommt weiterhin die internationalisierten Felder in der Vorlage und der Steuerdatei angezeigt.
Die Vorlage ist stabil gegen Änderungen an der Internationalisierung (Feldumbenennung)
Die Vorlage funktioniert auch in mehrsprachigen bzw. in Versionen in denen mehrere Konfigurationsgruppen verwendet werden.
Das Verfahren besteht darin, dass die Serienbriefvorlage mit den internen Feldnamen gespeichert wird - nicht mehr mit den internationalisierten Feldnamen. Um bestehende Serienbriefvorlage mit der neuen Funktionalität in der Anwendung nutzen zu können, müssen Sie jede Serienbriefvorlage einmalig laden, öffnen und speichern. Weitere Arbeitsschritte sind nicht notwendig.
Um die Lesbarkeit der Felder in der Vorlage zu wahren, wird wie folgt vorgegangen:
Verwaltung der Serienbriefvorlage in der Administrationskonsole
Im Zuge des Öffnens der Serienbriefvorlage in der Adminkonsole werden alle Felder internationalisiert. Die Lesbarkeit der Serienbriefvorlage bleibt somit für den Administrator erhalten. Vor dem Hochladen der Serienbriefvorlage werden die internationalisierten Felder automatisch wieder auf ihre ursprünglichen internen Feldnamen zurückgesetzt. Die gespeicherte Vorlage auf dem Server enthält also wieder die internen Feldnamen. (Ein Hinweis: Änderungen an der Internationalisierung der Felder während der Bearbeitung der Serienbriefvorlage bleiben unberücksichtigt. Man sollte also eine Serienbriefvorlage nur dann bearbeiten, wenn nicht gleichzeitig auf den Masken Felder umbenannt werden.)
Erzeugen des Serienbriefs
Die Steuerdatei wird mit den internationalisierten Feldnamen gefüllt. Das Serienbriefdokument enthält vor dem Mischen mit der Steuerdatei noch die internen Feldnamen. Diese Felder werden nun konvertiert. Auf diese Weise werden vor dem Mischen alle Felder in der Serienbriefvorlage internationalisiert. Dadurch wird sichergestellt, dass die Felder in der Serienbriefvorlage mit den Spaltentiteln aus der Steuerdatei übereinstimmen und die Lesbarkeit der Serienbriefvorlage erhalten bleibt. (Evtl. erhält der Anwender beim Öffnen des Serienbriefs den Hinweis, dass das Feld X nicht mehr in der Steuerdatei gefunden werden kann. Es besteht aber immer noch die Möglichkeit, das MERGEFIELD einem anderen Feld in der Steuerdatei zuzuordnen. Die Serienbriefvorlage sollte vom Administrator entsprechend so angepasst werden, dass in dem betroffenen MERGEFIELD der geänderte internationalisierte Feldname steht.)
Abschalten von Sicherheitsnachfragen
Sicherheitsnachfrage 'SQL-Abfrage'
Beim Öffnen eines Serienbriefs muss die SQL-Nachfrage bestätigt werden. Dieses Sicherheitsfeature von Microsoft Word kann über einen Registry-Eintag deaktiviert werden, siehe auch
Beispiel für Office 2007:
[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options] "SQLSecurityCheck"=dword:00000000
Konvertieren Dialog bei CSV-Steuerdatei
Beim Öffnen eines Serienbriefs mit einer CSV-Datei muss das Konvertieren bestätigt werden, siehe auch http://support.microsoft.com/kb/834948/en-us?fr=1
Beispiel für Office 2007
[HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Word\Options] "DefaultCPG"=dword:000004e4
Die Arbeitsschritte bei der Dokumenterstellung
Schritt 1
Einsatz der Komplexen Suche für den Serienbrief
Das Startfenster findet sich in der Anwendung als Menüpunkt Marketing / Serienbrief. Zunächst wählt der Anwender hier die gewünschte Serienbriefvorlage aus. Damit wird gleichzeitig auch die zugeordnete Komplexe Suche geladen. Vor Ausführung der Selektion besteht die Möglichkeit, die Suche anzupassen, um das Suchergebnis einzuschränken. Aus der Menge der gefundenen Datensätze kann der Anwender eine beliebige Anzahl von Adressaten auswählen.
Zur Selektion von Empfängern stehen zwei Möglichkeiten zur Verfügung:
Möglichkeit 1: Suche nach Adressaten über die Suchmaske
Über den Schalter Adressaten Suchen wird die Hauptsuche der zugehörigen komplexen Suche in der Suchmaske angezeigt. Nach erfolgreicher Selektion wird der Zuordnungsdialog zur Auswahl der Serienbriefempfänger angezeigt. Alle selektierten Empfänger befinden sich bereits im unteren Bereich und sind somit ausgewählt. Alle Ansprechpartner, die nicht angeschrieben werden sollen, können in den oberen Bereich verschoben werden.
Möglichkeit 2: Laden von gespeicherten Adressaten
Alternativ kann die Liste von Adressaten aus einer Datei geladen werden.
Beide Selektionsvarianten können beliebig oft wiederholt werden. Das Ergebnis jeder Selektion wird hierbei jedes Mal der Gesamtergebnismenge hinzugefügt. Beim Hinzufügen der Daten wird zudem geprüft, ob die Strukturen beider Mengen zueinander passen. Ist dies nicht der Fall, erscheint eine entsprechende Hinweismeldung und das Hinzufügen wird abgebrochen.
Schritt 2
Arbeiten mit dem Selektionsergebnis
Unerwümnschte Dubletten können über den Schalter 'Dublettenprüfung Adressaten' bereinigt werden.
Sichten und Sortieren: Hier kann die Gesamtergebnismenge angezeigt und manuell nachbearbeitet werden. Sätze im oberen Bereich werden entfernt, Sätze in unteren Bereich verbleiben in der Gesamtergebnismenge. Die aktuelle Anzahl der Datensätze wird im Schalter ausgegeben. Die Sortierung der Gesamtergebnismenge (z.B. nach PLZ) kann hier ebenfalls erfolgen.
Speichern der Gesamtergebnismenge:
Das aktuelle Gesamtergebnis kann als *.ser-Datei per Explorer gespeichert werden. Somit kann die gleiche Ergebnismenge zu einem späteren Zeitpunkt wieder geladen werden, um gezielt Folgeaktionen durchzuführen.
Schritt 3
Weitere Optionen im Startfenster
Die weiteren Schritte hängen davon ab, welche Ausgabe der Anwender nun wählt: Serienbrief (samt Steuerdatei), Steuerdatei (ohne Serienbriefdokument) oder für beide Fälle die Möglichkeit eines Testlaufs. Ist der Haken bei „Testlauf“ gesetzt, werden keine Änderungen in der Datenbank vorgenommen, also keine Aktivitäten, Dokumenten und Verknüpfungen zu den selektierten Daten erzeugt. Somit kann man problemlos Suchen und Vorlagen entwickeln und testen.
Wird kein Testlauf durchgeführt, erweitert sich der Assistent noch um Schritte für das Hinterlegen von Aktivitäten, Dokumenten und Verknüpfungen. So wird der Anwender zunächst zur Eingabe eines Betreffs für das Dokument für die neu anzulegenden Aktivitäten aufgefordert. Anschließend kann er weitere Anwendungsdateien als Anlage hinzufügen. Falls Aktivitäten bei der Serienbrieferstellung generiert werden, werden diese mit den so hinzugefügten Anwendungsdateien automatisch verknüpft. So kann man auf diese Weise etwa einen dem Serienbrief beigelegten Flyer als PDF-Datei hinterlegen.
In nächsten Schritt legt der Anwender fest, ob pro selektiertem Datensatz eine Protokollaktivität und eine Erinnerungsaktivität angelegt werden sollen. Diese Aktivitäte können als Sammelaktivität erzeugt werden:
Sammelaktivität ist aktiv: Es wird insgesamt nur eine Protokoll- und eine Erinnerungsaktivität erzeugt. Alle Datensätze werden mit diesen beiden Aktivitäten verknüpft, sie werden also „gesammelt“.
Sammelaktivität ist nicht aktiv: Es wird jeweils eine erledigte und eine offene Aktivität pro Datensatz erzeugt.
Als Faustregel kann man sagen: die Sammelaktivität sollte immer aktiviert sein, da ansonsten sehr viele Aktivitäten erzeugt werden könnten. Allerdings ist in diesem Fall keine Verknüpfung der angelegten Aktivitäten zu den eigenen Mitarbeitern möglich, die Einträge in der Mappingtabelle sind dann also wirkungslos.
Sollen Aktivitäten erzeugt werden, öffnet sich eine Eingabemaske zur Erfassung der wichtigsten Felder zu einer erledigten und/oder offenen Aktivität.
Über den Schalter Fertig erfolgt der Start der Serienbriefgenerierung. Die Steuerdatei und – falls angegeben - das Serienbriefdokument werden erzeugt und als Dokumente im System gespeichert. Der Serienbrief wird als Hauptfenster in einer neuen Ebene automatisch geladen und anschließend zur weiteren Bearbeitung angezeigt.
Im Hintergrund werden gleichzeitig - sofern eingetragen - die Aktivitäten und Verknüpfungen erzeugt. Dieser Vorgang kann einige Minuten in Anspruch nehmen kann.
Schritt 4
Die Feldwerte in eine CSV-Steuerdatei übertragen.
Die Steuerdatei wird mit dem Serienbriefdokument verknüpft und dient als Datenbasis. In dem Serienbriefdokument können alle Felder aus der Steuerdatei in Feldern des Typs MERGEFIELD angezeigt werden. Im Falle von Schlüsselfeldern wird sowohl der Schlüssel als auch die Langbezeichnung als separates Feld übertragen.
In der Steuerdatei werden die internationalisierten Feldnamen als Spaltentitel verwendet, um die Lesbarkeit der zur Verfügung stehenden Felder aus der Anwendung zu erleichtern. Dieser Spaltentitel wird demnach auch in der Serienbriefvorlage als 'MERGEFIELD' verwendet. Ändert sich also die Internationalisierung eines Feldes in der Anwendung, welches zudem auch im Serienbrief verwendet wird, wirkt sich dies auf die Steuerdatei und die Serienbriefvorlage aus.
Das Exportformat Excel 2003 kann nur ca. 65000 Datensätze aufnehmen. Ansonsten ist für die Steuerdatei das Exportformat Excel immer zu bevorzugen, da es in Word schneller verarbeitet wird.
Schritt 5
Das Dokument speichern
Das Dokument wird gespeichert und kann anschließend bearbeitet werden. Über den Schalter Seriendruck-Vorschau in der Textverarbeitung lassen sich die Daten aus der Steuerdatei in dem Dokument anzeigen.
Briefanrede mit vollständigen Namenszusätzen
Um eine korrekte Briefanrede zu ermöglichen, wurden bereits in Version 2016.1 zusätzliche Titelfelder geschaffen. Diese kommen nun bei der Anredengenerierung (landesspezifisch) in der Version 2018.1 zur Anwendung.
Neue Titelfelder
SUBSTITUTE (Amtssubstitut = Amtsbezeichnung, die den Namen und den akad. Titel in der Briefanrede ersetzt, z.B. „Regierungspräsident“, „Staatssekretär“)
JOBTITLE (Amtsbezeichnung , die in der Briefanrede den akad. Titel ersetzt, z.B. „Direktor“, „Pfarrer“)
PROFESSION (Funktionsbezeichnung, die in der Anschrift, jedoch nicht in der Briefanrede erscheint, z.B. „Rechtsanwalt“, „Geschäftsführer“, „Notar“, „Prokurist“)
PREDICATES (Namensprädikate = Prädikate, Adelstitel o.ä., die dem Nachnamen vorgestellt werden, z.B. „Freiherr von …“); gehört inhaltlich zur PERSON
SUFFIX (Namenssuffix = Suffix, das hinter dem Namen geführt wird, z.B. „(MdB)“, „(MdL)“)
GRADES (sonstige Titel, akad. Grade o.ä., die nicht in der Anrede geführt werden, z.B. „Dipl.-Ing.“); gehört inhaltlich zur PERSON
Diese neuen Felder müssen zuerst auf der Maske platziert werden.
Beschreibung der Logik
Die Generierung von Anrede und Briefanrede erfolgt gemäß des Länderkennzeichens der angesprochenen bzw. angeschriebenen Person.
Die nachfolgend beschriebene Logik bezieht sich auf die Generierung der deutschen Anrede.
Diese Logik soll automatisch greifen, wenn mindestens eines der neuen Felder gefüllt ist. Sind alle 6 Titelfelder leer, dann kommt die Bestandslogik zur Ausführung.
Die Generierung von Anrede und Briefanrede soll (im Bedarfsfall) in der C1- bzw. C2-Schicht übersteuert werden können, analog der Anschrift
Die Generierung wird als Groovy-Skript in den Erweiterten Einstellungen pro Entität und Länderschlüssel hinterlegt:
Dem Skript stehen alle notwendigen Datenfelder zur Verfügung: FirstName, LastName, isLetterAddress, AcademicTitle, NameTitle, Substitute, JobTitle, Profession, Predicates, Suffix, Grades
Diese Daten werden dem Skript als Variable aus den Feldern der Entitäten zu Ansprechpartner und Mitarbeiter zur Verfügung gestellt.
Das Ergebnis des Skriptes ist die zusammengesetzte Anrede
Als Eingangsparameter außerdem das Länderkennzeichen erhalten, für das die Generierung angefordert wird
Die Generierung muss an zwei Stellen aufgerufen werden:
Im Maskenskript der Entitäten Ansprechpartner, Geschäftspartner und Person, um die veränderte Anrede dort sichtbar zu machen.
Serverseitig beim Speichern/Neuanlegen von Datensätzen der Entitäten Ansprechpartner, Geschäftspartner und Person, um die veränderte Anrede abzuspeichern.
Im ersten Schritt wird die Logik nur für "Deutschland" implementiert. Später kann die Generierung sukzessive auf weitere Länder ausgedehnt werden.
Beispieldaten:
Name
Vorname
Substitut
Jobtitle
Profession
Academic Title
Predicates
Suffix
Nussbaum
Marie-Luise
-
-
Rechtsanwältin
Prof. Dr.
-
-
Kröger
Hans-Hartmut
-
-
Vorstand
-
-
-
Eckstein
Liane
-
Direktor
-
Dr.
von
(MdL)
Starken
Karl Ferdinand
-
-
-
Prof.
Freiherr von
-
Krollmann
Günther
Staatssekretär
-
-
Dr.
-
(MdB)
Vollrath
Peter August
Landesbischof
-
-
Prof. Dr.
von
-
Proff zu Irnich
Franz
-
-
-
Dr.
Freiherr von
-
Die Generierung der Anrede erfolgt nach folgendem Muster:
Aufbau:
[Herrn|Frau] [<SUBSTITUTE>|<JOBTITLE>|<PROFESSION>]
<NAMETITLE> Vorname <PREDICATES> Nachname <SUFFIX>Beispiele:
Frau Rechtsanwältin
Prof. Dr. Marie-Luise NussbaumHerrn Vorstand
Hans-Hartmut KrögerFrau Direktor
Dr. Liane von Eckstein (MdL)Herrn
Prof. Karl Ferdinand Freiherr von StarkenHerrn Staatsskretär
Dr. Günther Krollmann (MdB)Herrn Landesbischof
Prof. Dr. Peter August von VollrathHerrn
Dr. Franz Freiherr von Proff zu Irnich
Die Generierung der Briefanrede erfolgt nach folgendem Muster:
Aufbau, wenn Amtssubstitut existiert:
Sehr geehrte[r Herr| Frau] <SUBSTITUTE>,
Beispiele:
Sehr geehrter Herr Staatssekretär,
Sehr geehrter Herr Landesbischof,
Aufbau, ohne Amtssubstitut:
Sehr geehrte[r Herr| Frau] [<JOBTITLE> | <ACADEMICTITLE>] <PREDICATES> Nachname,
Beispiele:Sehr geehrte Frau Prof. Dr. Nussbaum,
Sehr geehrte Frau Direktor von Eckstein,
Sehr geehrter Herr Prof. Freiherr von Starken,
Sehr geehrter Herr Dr. Freiherr von Proff zu Irnich,