...
Über diese Dokumentfunktion können Inhalte verknüpft werden, um diese im Dokument zu integrieren.
Angenommen Sie nutzen die Formulare (Forms) Funktion, um ein Datum und ein einen Titel vom Benutzer abzufragen und wollen möchten diese Daten gemeinsam in einer Fusszeile platzieren, .
Dann können Sie über diese Funktion die beiden Textfelder in ein eigenes Textfeld zusammenbringenDokumentfunktion das Datumsfeld und das Textfeld in einem Field zusammen ausgeben. So können Sie auch handhaben, was geschieht, wenn nicht beide Forms-Felder vom Benutzer ausgefüllt werden.
...
Grundaufbau
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration> <Fields> <!-- Formularelemente und Gruppen hier einfügen --> </Fields> </FieldsConfiguration> |
...
Attribute, die bei allen Elementen angeboten werdenerforderlich sind:
Attributname | Beschreibung |
---|---|
| Wird zur Identifikation benötigt. Darf keine Leerzeichen enthalten und muss eindeutig sein. |
Attributwerte aus globalen Übersetzungen
Einige Attribute können anstelle eines fixen Wertes mit dem Wert einer globalen Übersetzung befüllt werden. Diesen Attributen ist jeweils ein translate-
vorangestellt. Die beiden Attribute schliessen sich gegenseitig aus, es darf also nur ein fixer Wert oder ein übersetzter Wert eingesetzt werden.
Text
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration> <Fields> <Text Name="Page" translate-Value="Content.Page" /> </Fields> </FieldsConfiguration> |
...
Attributname | Beschreibung |
---|---|
| Vordefinierter Text bzw. vordefinierter Text aus den Globalen Übersetzungen, den der Benutzer bearbeiten kann. |
...
FormattedText
FormattedText erlaubt das Einfügen von formatiertem Text. FormattedText ist sowohl ein Typ von Globalen Übersetzungen als auch eine Art Textbausteine.
Beim Einfügen mittels Globale Übersetzungen ist es möglich, abhängig von Profildaten oder selektierten Daten in Forms, unterschiedlich formatierte Textpassagen in einem Inhaltssteuerelement im Dokument auszugeben. Oft genutzt wird das beispielsweise in Kopf- und Fusszeilen, weil dort oft fette und nicht-fette Styles in einem Inhaltssteuerelement zum Zuge kommen.
Attribute fürFormattedText
Attributname | Beschreibung | ||
---|---|---|---|
| Mit diesem Attribut kann gesteuert werden, ob ein Feld bei der Aktualisierung (z.B. über ein Sprach-, Profil- oder Eigenschaftswechsel) im Word mit den konfigurieren bzw. berechneten Werten aus primedocs überschrieben werden soll oder nicht.
|
Die Dynamisierung von Inhalt und Daten wird im Code
-Element mit JavaScript und software-eigenen Funktionen ermöglicht. https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/398131214/Code#formattedText-API
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration> <Fields> <!-- FormattedText als globale Übersetzung holen --> <FormattedText Name="EnclosuresTitle"> <Code>$.translations.getFormattedText("FormattedTexts.EnclosuresTitle")</Code> </FormattedText> <!-- FormattedText als Textbaustein holen --> <FormattedText Name="SimpleSnippet"> <Code>$.snippets.getFormattedText("FormattedTexts.SimpleSnippet")</Code> </FormattedText> </Fields> </FieldsConfiguration> |
...
WordContent
Das Field vom Typ WordContent erlaubt das dynamische Einfügen von mehreren Textabschnitten in eine Vorlage. Zusammen mit der Dokumentfunktion Forms können so komplexere Vorlagen umgesetzt oder mehrere Vorlagen in eine konsolidiert werden.
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration>
<Fields>
<WordContent Name="Introduction">
<Code>$.snippets.getWordContent("Introduction")</Code>
</WordContent>
</Fields>
</FieldsConfiguration> |
Ein WordContent enthält immer ein oder mehrere Paragraphen und muss daher in der Vorlage immer auf einem eigenen Paragraphen als Platzhalter hinterlegt werden. Um dynamisch formatierte Ausgaben innerhalb einer Zeile zu konfigurieren, kann auf den InlineWordContent Typ zurückgegriffen werden.
Attribute fürWordContent
Attributname | Beschreibung | ||
---|---|---|---|
| Mit diesem Attribut kann gesteuert werden, ob ein Feld bei der Aktualisierung (z.B. über ein Sprach-, Profil- oder Eigenschaftswechsel) im Word mit den konfigurieren bzw. berechneten Werten aus primedocs überschrieben werden soll oder nicht.
|
Das Einfügen von WordContent wird im Code
-Element mit JavaScript und software-eigenen Funktionen ermöglicht. https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/398131214/Code#wordContent-API
...
InlineWordContent
Das Field vom Typ InlineWordContent erlaubt das dynamische Einfügen von formatierten Textabschnitten innerhalb eines Paragraphen in einer Vorlage.
Ein InlineWordContent besteht technisch nur aus einem Paragraphen und den Textinhalten (mit oder ohne Formatierung). Über diesen Typen ist es möglich sowohl Fix-Texte als auch formatierte Texte in einem Paragraph abzubilden.
Dieser Typ kann aktuell nur über das Konvertieren von WordContent oder FormattedText erzeugt werden, wobei hierbei sichergestellt sein muss, dass nur die Quelle nur einen Paragraph beinhaltet.
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration>
<Fields>
<InlineWordContent Name="Note">
<Code>$.inlineWordContent.extractParagraphContentFromWordContent($.snippets.getWordContent("Note"))</Code>
</InlineWordContent>
</Fields>
</FieldsConfiguration> |
Attribute fürInlineWordContent
Attributname | Beschreibung | ||
---|---|---|---|
| Mit diesem Attribut kann gesteuert werden, ob ein Feld bei der Aktualisierung (z.B. über ein Sprach-, Profil- oder Eigenschaftswechsel) im Word mit den konfigurieren bzw. berechneten Werten aus primedocs überschrieben werden soll oder nicht.
|
Das Einfügen von InlineWordContent wird im Code
-Element mit JavaScript und software-eigenen Funktionen ermöglicht. https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/398131214/Code#inlineWordContent-API
...
Date
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration> <Fields> <Date Name="CreateDate" />Format="yyyy-MM-dd"> <Code>$("Forms.Date").Value</Code> </Date> </Fields> </FieldsConfiguration> |
Attribute fürDate
...
Attributname | Beschreibung |
---|---|
| Datumsformat für die Anzeige im Dokument. Der Tooltip zu |
...
YesNo
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration> <Fields> <YesNo Name="InsertPartnerLogo" Value="true" /> </Fields> </FieldsConfiguration> |
...
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration> <Fields> <Picture Name="PartnerLogo" Asset="\\fileshare\PartnerLogo.png" />> <Code>$("Profile.Org.PartnerLogo")</Code> </Picture> </Fields> </FieldsConfiguration> |
...
Attributname | Beschreibung | ||
---|---|---|---|
| Angabe des Laufwerkpfades zum Bild. Dabei muss sichergestellt sein, dass jede Benutzer-Maschine auf das Bild zugreifen kanneines Asset einer Bildergalerie, nur möglich in PowerPoint:
|
...
GlobalFields
Über das Element GlobalFields
kann ein global abgelegtes Field geholt werden.
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration> <Fields> <GlobalFields Key="Fields.Report" /> </Fields> </FieldsConfiguration> |
Dabei können GlobalFields in jeder Fields-Konfiguration - in einer Vorlage oder in einem Eintrag in der globalen Konfiguration - referenziert werden.
Mehr Informationen zu den Globalen Konfigurationen sind hier zu finden: https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/31457334/Globale+Konfigurationen#Umgang-mit-typisierten-Feldern.
...
Die Referenz auf einen globalen Eintrag passiert mittels dem Key
-Attribut. Wählt man dieses aus, wird einem automatisch eine Liste mit allen zur Verfügung stehenden globalen Einträgen angezeigt.
Attributname | Beschreibung |
---|---|
| Die ID des globalen Eintrags, der referenziert werden soll. |
Fields modifizieren
Das Element Modifications
in GlobalField
s erlaubt die Modifizierung von jedem Field, das durch die Referenzierung des GlobalField in der Field-Pipeline bei der Dokumentgenerierung inkludiert wird.
...
Um ein Field zu modifizieren, wird im GlobalField das Modifications
-Element eröffnet. Darin wird das zu modifizierende Field mit demselben Name erneut definiert und sein Wert bzw. sein Code
anders definiert. So wird bei der Dokumentgenerierung nicht das ursprüngliche Field in die Field-Pipeline inkludiert sondern das modifizierte.
Beispiel
Das GlobalField mit Id Fields.IsPresident
enthält ein YesNo
-Field mit dem Wert true
. Die Konfiguration sieht so aus:
Code Block | ||
---|---|---|
| ||
<FieldsGlobalFields>
<YesNo Name="IsPresident" Value="true" />
</FieldsGlobalFields> |
In einer Vorlage soll für das YesNo-Field IsPresident
ausnahmsweise false
verwendet werden. Um das zu erreichen, wird in der Fields-Konfiguration dieser Vorlage IsPresident
neu definiert:
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration>
<Fields>
<GlobalFields Key="Fields.IsPresident">
<Modifications>
<YesNo Name="IsPresident" Value="false" />
</Modifications>
</GlobalFields>
</Fields>
</FieldsConfiguration> |
Wird aus der Vorlage ein Dokument generiert, wird nun die neue Definition berücksichtigt und damit der Wert false
verwendet - auch falls dieses Field in anderen Fields referenziert wird.
...
Beispiele
Code Block | ||
---|---|---|
| ||
<FieldsConfiguration> <Fields> <!-- Platzhalter befüllen vom Layout --> <Picture Name="PartnerLogo" Asset="\\e165\User\Bolli\04_Testing-Bilder\BeispielLogo.PNGBildergalerie/General/Berge.jpg" /> <Text Name="Page" translate-Value="Texts.Page" />Value="Seite" /> <!-- FormattedText holen --> <FormattedText Name="Title"> <Code>$.translations.getFormattedText("FormattedTexts.FormattedTitle")</Code> </FormattedText> <!-- Daten nurim inInhalt der InhaltsvorlageVorlage --> <Text Name="Greeting" translate-Value="Greetings.KindRegards1" /> <!-- Globaler Eintrag referenzieren --> <GlobalFields Key="Letters.Subject" /> <!-- WordContent-Textbaustein holen --> <WordContent Name="Introduction"> <Code>$.snippets.getWordContent("Introduction")</Code> </WordContent> </Fields> </FieldsConfiguration> |
Fields in Office-Vorlagen
Wie bereits in https://primesoft-group.atlassian.net/wiki/x/EgDCAQ erläutert, werden die Fields anschliessend manuell in die Vorlage eingefügt. Dabei werden sie je nach Typ als bestimmtes Inhaltssteuerelement eingefügt, wodurch zwischen primedocs und dem Dokument ein DataBinding hergestellt wird. DataBindings werden in Dokumenten von primedocs nachverfolgt und die Fields bei der Dokumentgenerierung und bei einer Dokumentaktualisierung laufend validiert.
Übersicht eingefügtes Inhaltssteuerelement pro Field-Typ
Folgende Tabelle zeigt, welcher Field-Typ als welches Inhaltssteuerelement in die Vorlage eingefügt wird:
Field-Typ | Inhaltssteuerelement |
---|---|
Text | PlainText (Nur-Text) |
FormattedText | RichText |
WordContent | RichText |
Date | Date |
YesNo | Kann nicht eingefügt werden. |
Picture | Image |
Übersicht Field-Typ pro Office-Anwendung
Als Ergänzung zeigt folgende Matrix, welcher Field-Typ in welchen Office-Anwendungen verwendet werden kann:
Word | Outlook (web) | PowerPoint | Excel | |
---|---|---|---|---|
Text | ✔️ | ✔️ | ✔️ | ✔️ |
FormattedText | ✔️ | ✔️* | ✔️ | ❌ |
WordContent | ✔️ | ❌ | ❌ | ❌ |
Date | ✔️ | ❌ | ❌ | ❌ |
YesNo | ❌ | ❌ | ❌ | ❌ |
Picture | ✔️ | ✔️ | ✔️ | ✔️ |
* Outlook-E-Mails und -Signaturen werden in der webfähigen Outlook-Version nur noch in HTML gespeichert. Daraus folgt:
Globale Übersetzungen vom Typ FormattedText
können über das FormattedText
-Field in Outlook-Vorlagen beliebige HTML-Elemente enthalten und sind somit flexibler als globale Übersetzungen, die in Word- oder PowerPoint-Vorlagen eingefügt werden.
Eine Liste der erlaubten HTML-Elemente in Word und PowerPoint-Vorlagen finden Sie hier: https://primesoft-group.atlassian.net/wiki/spaces/PDT/pages/398327828/FormattedText#M%C3%B6gliche-HTML-Elemente