Empfängerspezifische Daten für Benutzer unsichtbar ins Dokument bringen
Szenario
Eine Gemeinde schickt jedes Jahr an alle neu zugezogenen Bürger eine Einladung für ein Apéro. Dazu wird aus der Fachapplikation des Einwohneramtes eine Connect-Datei erzeugt, die alle benötigten Daten enthält. Im Dokument steht der Satz:
"Sie sind dieses Jahr am <Zuzugsdatum>
von <früherer Wohnort>
in unsere Gemeinde gezogen."
Analyse
In diesem Szenario handelt es sich um einen Multiletter, d. h. um ein Dokument mit mehreren Empfängern (nicht Serienbrief, da keine Word-Serienbrieffelder verwendet werden). Die beiden Daten Zuzugsdatum und früherer Wohnort sind für jeden Empfänger unterschiedlich, können also nicht über Custom Interface Connector eingefügt werden, da sie dann global für alle Empfänger identisch wären. Stattdessen müssen sie an die Empfängeradresse angehängt werden.
Um die Daten der beiden Felder ins Dokument zu bringen, gibt es zwei Möglichkeiten:
1. Bestehende Felder umfunktionieren
Jeder Empfänger hat eine Fülle von Feldern zu Verfügung, wovon kaum jemals alle verwendet werden. Es können also solche zweckentfremdet werden, um die Daten ins Dokument zu bringen.
<OneOffixxConnectBatch xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Entries>
<OneOffixxConnect>
<Function name="Recipient" id="b9e8ec94-bec0-418a-b985-c565ac3bec23">
<Arguments>
<ContactList>
<ContactItem Selected="true" xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1" id="0">
<Person>
<LastName>Mustermann</LastName>
<FirstName>Max</FirstName>
<SalutationShort>Herr</SalutationShort>
<Salutation>Sehr geehrter Herr Mustermann</Salutation>
<!-- Birthday zweckentfremdet für MovingDate -->
<Birthday>01.04.2019</Birthday>
<!-- NickName zweckentfremdet für PreviousCity -->
<NickName>München</NickName>
<Address>
<Street>Hauptstrasse 42</Street>
<City ZipCode="1337">Leethausen</City>
</Address>
</Person>
</ContactItem>
</ContactList>
</Arguments>
</Function>
</Entries>
</OneOffixxConnectBatch>
Vorteile: Bestehende Felder werden verwendet, keine weitere Anpassung nötig.
Nachteile: Die Daten sind im Empfängerdialog sichtbar, können folglich den Benutzer verwirren.
2. Extended Fields verwenden
Eine Alternative ist, die Daten über Extended Fields ins Dokument zu bringen. Im Folgenden gilt Zuzugsdatum
= MovingDate
und früherer Wohnort
= PreviousCity
.
<OneOffixxConnectBatch xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Entries>
<OneOffixxConnect>
<Function name="Recipient" id="b9e8ec94-bec0-418a-b985-c565ac3bec23">
<Arguments>
<ContactList>
<ContactItem Selected="true" xmlns="http://schema.oneoffixx.com/OneOffixxConnectBatch/1" id="0">
<Person>
<LastName>Mustermann</LastName>
<FirstName>Max</FirstName>
<Address>
<Street>Hauptstrasse 42</Street>
<City ZipCode="1337">Leethausen</City>
</Address>
</Person>
<ExtendentFields>
<Item Key="MovingDate">01.04.2019</Item>
<Item Key="PreviousCity">München</Item>
</ExtendentFields>
</ContactItem>
</ContactList>
</Arguments>
</Function>
</Entries>
</OneOffixxConnectBatch>
Die beiden Daten werden unter ExtendentFields vermerkt. Der Schreibfehler hat sich in einer früheren Version eingeschlichen und muss aus Kompatibilitätsgründen beibehalten werden.
Vorteile: Daten sind unsichtbar, keine bestehenden Felder werden zweckentfremdet.
Nachteile: Das Verknüpfen der Felder in die Vorlage ist aufwendiger.
Extended Fields können nicht über "Inhalt verknüpfen" direkt eingefügt werden, sondern müssen über "Inhaltssteuerelement über Id einfügen" platziert werden. Dabei folgt das Naming der Regel, dass Extended Fields folgendes Präfix erhalten: Contact.Recipient.Selected.Spec.. Im untenstehenden Screenshot heisst das Feld Details und würde in der Connect-Datei entsprechend angegeben:
<ExtendentFields>
<Item Key="Details">Text...</Item>
</ExtendentFields>
PrimeSoft AG, Bahnhofstrasse 4, 8360 Eschlikon, Switzerland