Über das Navigationssteuerelement „Anhang erstellen“ können neue Anhänge in einem Datensatz erstellt werden. Hierfür gibt es viele unterschiedliche Szenarien, die hier zusammenhängend beschrieben werden. Das Navigationssteuerelement „Datensatz mit zusätzlicher Relation erstellen“ hat ebenfalls eine Querverbindung zu diesem Thema, auf die am Ende eingegangen wird.

Zentrale Einstellungen für „Anhang erstellen”

Wo sollen die Anhänge erstellt werden?

Anhänge können in einer Dateianhänge-Datenspalte des aktuellen Datensatzes erstellt und damit in der Anwendung gespeichert werden oder aber nach der Erzeugung nur zum Herunterladen angeboten und nicht in der Anwendung gespeichert werden.

Die Anhänge können in einer beliebigen Dateianhänge-Datenspalte eines Datensatzes erstellt werden. Die Spalte wird im Navigationssteuerelement konfiguriert. Zur Auswahl muss eine konkrete Datentabelle ausgewählt werden, in der sich die Spalte befindet. Bei der späteren Ausführung wird es allerdings für alle Datentabellen funktionieren, in denen eine gleichnamige Dateianhänge-Datenspalte vorhanden ist. Ist sie nicht vorhanden, wird die Aktion automatisch deaktiviert.

Leeren Anhang erstellen

Im einfachsten Fall erzeugt das Navigationssteuerelement „Anhang erstellen“ eine neue leere .docx- oder .xlsx Datei (Option „Bevorzugtes Ausgabeformat“) in der konfigurierten Dateianhänge-Datenspalte.
Um dieses Ziel zu erreichen, darf keine Vorlage vorgegeben sein, die Vorlagenauswahl darf nie erfolgen und für die konfigurierte Vorlagenrelationsdefinition darf keine Relation vorhanden sein.

Anhang auf Basis von Vorlagen erstellen

Aus den vorgegebenen oder ausgewählten Vorlagen werden Anhänge, die sich in der Dateianhänge-Datenspalte „DefaultAttachments“ befinden, in den Datensatz kopiert. In .docx-Dateien* werden dabei Platzhalter ersetzt. Wenn das bevorzugte Ausgabeformat .docx lautet oder mehrere Vorlagen ausgewählt wurden, werden .xlsx-Dateien* in .docx-Dateien umgewandelt. In allen anderen Fällen und für alle anderen Anhänge werden diese einfach aus der Vorlage in den aktuellen Datensatz kopiert.
In der Vorlage muss sich der Anhang in der Datentabellenspalte „DefaultAttachments” befinden.
Befinden sich in einer Vorlagen-Datensatz mehrere Anhänge, ist deren Abarbeitungsreihenfolge nicht festgelegt.
Werden mehrere Vorlagen-Datensätze ausgewählt, so werden diese in ihrer ausgewählten Reihenfolge abgearbeitet. Hierzu muss entweder die verwendete Relationsdefinition einen nur programmatisch zu erzeugenden sortierbaren Relationstyp verwenden oder aber das Navigationssteuerelement „Anhang erzeugen“ muss die Vorlagen abfragen.

Vorlage fest vorgeben

Im Navigationssteuerelement „Anhang erstellen“ kann eine zu verwendende Vorlage direkt konfiguriert werden. Die Referenz auf die zu verwendende Vorlage erfolgt dabei über einen Auswahllistenwert der für die gemeinsame Datenspalte „ConfigReference“ konfigurierten Auswahlliste. Durch dieses Vorgehen wird die Konsistenz der Konfiguration sichergestellt, auch wenn es die referenzierte Vorlage zur Ausführungszeit nicht gibt. In der Datentabelle, die als Vorlage verwendet wird, muss für die gemeinsame Datenspalte „ConfigReference“ eine Auswahlliste konfiguriert werden. Aus dieser Auswahlliste muss anschließend in einem auf Basis der Datentabelle erstellten Datensatz ein Wert ausgewählt werden. Dieser Wert wird im Navigationssteuerelement „Anhang erstellen“ konfiguriert. Der Wert darf nur einmal vorkommen, da ansonsten nicht definiert ist, welche Vorlage verwendet wird.
In diesem Fall erfolgt nie ein Fallback auf eine Standard-.docx-Vorlage* des Benutzers.
Es kann auf diese Art nur genau eine Vorlage konfiguriert werden.

Vorlagen über Relation vorgeben

Wenn das Navigationssteuerelement „Anhang erstellen“ nicht mit einer fest vorgegebenen Vorlage arbeiten soll, kann die Vorlage über eine Relation definiert werden. Diese kann beispielsweise über ein entsprechendes Maskensteuerelement zur Relationsauswahl oder schon beim Erstellen des Datensatzes über die Navigationssteuerelemente „Datensatz mit zusätzlicher Relation erstellen“ erzeugt werden. Wird keine spezielle Relationsdefinition konfiguriert, wird mit der „TemplateRelation“ gearbeitet.
In diesem Fall kann ein Fallback auf eine Standard-.docx-Vorlage* des Benutzers erfolgen. Außerdem sollte die Vorlagenauswahl im Navigationssteuerelement „Anhang erstellen“ nie oder nur dann erfolgen, wenn es bei der Ausführung keine konkrete Relation gibt.
Auf diese Art können mehrere Vorlagen zur Erstelleung eines Anhangs verwendet werden. Um die Reihenfolge der Vorlagen zu beachten, muss die Relationsdefinition auf einem nur programmatisch zu erzeugenden sortierbaren Relationstyp basieren.

Beispiel:
Verwenden Sie mehrere unterschiedliche Relationsdefinitionen, um in einem Datensatz mehrere getrennte Vorlagen auswählen zu können mit dem Ziel, über mehrere konfigurierte Aktionen „Anhang erstellen” mehrere einzelne Anhänge erstellen zu können.

Vorlage abfragen

Das Navigationssteuerelement „Anhang erstellen“ kann bei Ausführung direkt eine Vorlage abfragen. Existiert zusätzlich eine Relation auf Basis der konfigurierten Vorlagenrelationsdefinition, wird diese als Vorbelegung für die Abfrage verwendet, die Abfrage selbst erzeugt oder ändert keine Relation.
Die Abfrage erfolgt als Auswahldialog mit einigen Konfigurationsoptionen wie „Dialogtitel“ oder „Auswahlansichten“.
Die Abfrage benötigt, da sie ohne Relationsdefinition arbeiten kann, eine eigene Konfigurationsoption über die festgelegt wird, ob eine oder mehrere Vorlagen ausgewählt werden können. Die Reihenfolge der ausgewählten Vorlagen wird in jedem Fall beachtet.

Weitere Einstellungen / Informationen zu „Anhang erstellen“

Betreff aus Vorlage übernehmen

Im neuen Datensatz kann eine Datenspalte („Betreff-Datenspalte”) mit dem Wert der Datenspalte „Custom_Subject” bzw. „Subject” aus der Vorlage belegt werden. Platzhalter in diesem Feld werden dabei ausgeführt. Die Betreff-Datenspalte wird im Navigationssteuerelement konfiguriert. Zur Auswahl muss eine konkrete Datentabelle ausgewählt werden, in der sich die Spalte befindet. Bei der späteren Ausführung wird es allerdings für alle Datentabellen funktionieren, in denen eine gleichnamige Datenspalte vorhanden ist. Um den übernommenen Betreff in der Maske sofort anzuzeigen, muss das Feld in einer Aktualisierungsgruppe für das Ereignis „Anhänge wurden aktualisiert” und „Vom Server aktualisiert” angeordnet sein.

Standardvorlage verwenden

Ob bei keiner ausgewählten Vorlage ein Fallback auf die Standard-.docx-Vorlage* des Benutzers erfolgt, kann konfiguriert werden. Benutzer können in ihren Benutzereinstellungen eine Standardbriefvorlage hinterlegen. Im Steuerelement „Anhang erstellen” kann konfiguriert werden, ob, falls keine Vorlage ausgewählt wurde (oder keine ausgewählt werden konnte), diese Standardbriefvorlage verwendet werden soll oder nicht. Die Standardbriefvorlage muss auf der Datentabelle „OrmLetterTemplate” basieren.

Anhang hinzufügen

Man kann konfigurieren, ob der neue Anhang nur in einer leeren Dateianhänge-Datenspalte erzeugt werden kann oder an existierende Anhänge angehängt wird.

Dateinamen des neuen Anhangs

Der Dateinamen des erstellten Anhangs wird aus dem Inhalt der folgenden Datenspalten in fallender Priorität gebildet: Subject, Name, Title, EntityTitle, OID. Angepasste (Custom_) Datenspalten mit gleichem Namen werden in gleicher Priorität bevorzugt behandelt. Unzulässige Zeichen werden durch Unterstriche ersetzt.

Anhang automatisch öffnen

Neu erstellte .docx- oder .xlsx-Dateien können nach der Erstellung automatisch in der nutzerseitigen oder eingebetteten Anwendung geöffnet werden. Das gewünscht Verhalten kann im Steuerelement eingestellt werden. Als zweite Möglichkeit kann über die Datenspalte „OpenEditorAtOnce“ der Vorlage das Verhalten pro Vorlage unterschiedlich eingestellt werden.

Anhang als PDF erzeugen

Wenn in einer Vorlage die boolesche Datentabellen-Spalte “CreatePDF” gesetzt wird, wird der Anhang automatisch in ein PDF umgewandelt.

Leseberechtigungen auf Vorlagen

Es werden nur solche Vorlagen berücksichtigt, auf die der Benutzer zum Ausführungszeitpunkt Leseberechtigungen hat. Im Falle einer vorgegebenen Vorlag werden referenzierte Vorlagen ohne Leseberechtigungen ignoriert.
Fehlende Leseberechtigungen können je nach Konfiguration zu einem Fallback auf die Standard-.docx-Vorlage* des Benutzers führen.
Bei mehreren ausgewählten Vorlagen und der Einstellung „Immer fragen“ für die Vorlagenauswahl werden die lesbaren Vorlagen vorbelegt und der Benutzer erhält einen Hinweis, dass er nicht alle ausgewählten Vorlagen sehen kann. Bei allen anderen Einstellungen erfolgt eine Fehlermeldung.

Seitenumbruch vor Vorlage einfügen

Wenn in einer Vorlage die boolesche Datentabellen-Spalte „ShouldMergeInNewPage” bzw. „Custom_ShouldMergeInNewPage” gesetzt, wird beim Zusammenführen mehrerer Vorlagen in eine gemeinsame .docx-Datei vor dem Anhang der betreffenden Vorlage immer ein Seitenumbruch eingefügt.

Zusammenspiel mit „Datensatz mit zusätzlicher Relation erstellen“

Das Navigationssteuerelement „Anhang erstellen“ kann nur in Masken verwendet werden. Um schon aus Ansichten heraus einen neuen Datensatz mit Anhängen zu erzeugen, kann über die Navigationssteuerelemente „Datensatz mit zusätzlicher Relation erstellen“ ein neuer Datensatz erzeugt werden, der bereits über eine Relation zu einer Vorlage verfügt. Ebenso kann auch hierbei bereits eine Vorlage über den gleichen Mechanismus wie im Navigationssteuerelement „Anhang erstellen“ vorbelegt werden. Jedoch muss im Allgemeinen danach dennoch das Navigationssteuerelement „Anhang erstellen“ in der Maske ausgeführt werden.

Wenn der neue Datensatz in einer von „Basis.Brief” abgeleiteten Datentabelle erstellt wird und als Relation zur Vorlage eine Relation des Typs „Template” verwendet wird, können die folgenden speziellen Funktionen verwendet werden:

Anhang automatisch öffnen nach „Datensatz mit zusätzlicher Relation erstellen“

Wenn in der Vorlage die boolesche Datenspalte „Custom_OpenEditorAtOnce” bzw. „OpenEditorAtOnce” gesetzt ist, als Relation zur Vorlage eine Relation des Typs „Template” verwendet wird, der neue Datensatz in einer von „Basis.Brief” abgeleiteten Datentabelle erzeugt wird und die Maske die Maskensteuerung „Letter handler” verwendet, kann über diese boolesche Datenspalte der neue Anhang automatisch erstellt und geöffnet werden, nachdem ein Datensatz über das Navigationssteuerelement „Datensatz mit zusätzlicher Relation erstellen“ erzeugt wurde. Der neue Datensatz wird hierbei gespeichert. Diese Funktion bildet die Option „Anhang automatisch öffnen” des Navigationssteuerelements „Anhang erzeugen” für das Navigationssteuerelement „Datensatz mit zusätzlicher Relation erstellen” ab.

Der Anhang wird hierbei automatisch in der Spalte „DefaultAttachments” erzeugt und es erfolgt ein Fallback auf die Standardvorlage des Benutzers. Wird diese Option nicht gesetzt, gelten die entsprechenden Einstellungen des Navigationssteuerelements „Anhang erzeugen”, welches dann ja zwingend im Anschluss benutzt werden muss, um den Anhang zu erzeugen.

Betreff übernehmen nach „Datensatz mit zusätzlicher Relation erstellen“

Wenn in der Vorlage die Datenspalte „Custom_Subject” oder „Subject” gefüllt ist, als Relation zur Vorlage eine Relation des Typs „Template” verwendet wird und der neue Datensatz in einer von „Basis.Brief” abgeleiteten Datentabelle erzeugt wird, wird automatisch der Inhalt der Datenspalte aus der Vorlage in die Datenspalte „Subject“ des neuen Datensatzes übernommen. Um den übernommenen Betreff in der Maske sofort anzuzeigen, muss das Feld in einer Aktualisierungsgruppe für das Ereignis „Anhänge wurden aktualisiert” und „Vom Server aktualisiert” angeordnet sein. Diese Funktion bildet die Option „Betreff übernehmen” des Navigationssteuerelements „Anhang erzeugen” für das Navigationssteuerelement „Datensatz mit zusätzlicher Relation erstellen” ab.