Mit dem "Document Generator" können Sie Dokumente auf der Grundlage einer Standard-Microsoft-Word-Datei generieren, die mit SharePoint-Listendaten gefüllt ist.
Dies kann in Aktionen ausgelöst werden, die in Listen-Aktionen, modernen Formularen oder in Hintergrund-Aktionen (geplant oder ausgelöst) verwendet werden.
Das generierte Dokument kann entweder direkt im Browser heruntergeladen oder in einer SharePoint-Bibliothek gespeichert werden.
Hauptvorteile:
Die Funktion Dokument Generator bietet die Möglichkeit, verschiedene Arten von Dokumenten zu erstellen, z. B:
Konfiguration für ein einzelnes Element (Beispiel: Befehlsleistenaktion in einem Formular):
Beschreibung der Konfigurationsparameter:
Das unterstützte Vorlagenformat ist docx. Die Vorlage wird in Microsoft Word oder einer anderen Software erstellt, die das docx-Format unterstützt.
Derzeit erlaubt skybow Document Generator das Einfügen von skybow Platzhaltern, Bedingungen, Schleifen, verschachtelten Schleifen und Schleifen über Tabellenzeilen.
In den nächsten Versionen wird auch das Einfügen von Bildern möglich sein.
Den Link "Generieren" finden Sie auf dem Formular "Arbeitsstunden für die Woche", das das Dossier anzeigt:
Sie können verschiedene Arten von Ausdrücken verwenden, um die Metadaten in einem Word-Dokument anzuzeigen.
Vorlagen Ausdrücke | Beliebige Zeichenketten | [[Title]] [[Firstname]] | |||||||
Zuweisungen Ausdrücke | Beginnen Sie mit "[[=" und einer beliebigen Zeichenkette | [[= [[Title]] + ", " + [[Firstname]] ]] | |||||||
Funktions-Code Ausdrücke | Beginnen Sie mit "[[{" in der Eigenschaft Tag. Schreiben Sie Ihren komplexen Ausdruck als Inhalt in den Platzhalter | [[{ var arr = [[@Web.GetValuesForQuery('OtherList', '<View></View>', 'Total')]]; var sum = 0; arr.forEach(n=>sum +=n); return sum; }]] | |||||||
Nachschlagen Werte | Verwenden Sie [[Lookup.FieldInternalName]], um einen beliebigen Wert aus der Zielliste eines Lookups zu erhalten * Funktioniert nicht in geplanten und ausgelösten Aktionen | [[Department.Code]]* [[Department.Author]]* ------------------------------------------------------------- [[Department.Key]] -> to get the item ID of the department | |||||||
If (Wenn) Bedingungen | Beginnen Sie mit [[if …]] und einem beliebigen booleschem Ausdruck (Bedingung).
Alles, was zwischen dem Start- und dem End-Tag liegt, ist sichtbar, wenn die Bedingung erfüllt ist. Dies kann ein Text, ein Bild usw. sein. | [[if [[Budget]] > [[Outgoings]] ]] [[Title]] [[end if]] ------------------------------------------------------------- [[if {return ([[Budget]] > [[Outgoings]]);} ]] [[Title]] [[end if]] ------------------------------------------------------------- [[if [[Status]]!="Completed" ]] [[Title]] [[end if]] | |||||||
Loops (Schleifen) | Beginnen Sie mit [[loop]], um eine Schleife über mehrere Elemente der ausgewählten Liste zu ziehen. Wenn CAML Query für diesen Aktionslink konfiguriert ist, wird die Schleife danach gefiltert. Beginnen Sie mit [[loop SublistTitle]], um eine Schleife über die Elemente der Unterliste zu ziehen, die durch Nachschlagen in der übergeordneten Liste gefiltert wurden. Verwenden Sie den Parameter filterlookupfield('filed_internal_name'), um anzugeben, welches Lookup-Feld für die Unterliste verwendet werden soll, wenn mehrere Lookups für dieselbe Liste existieren. Er ist optional, wenn es nur ein Nachschlagefeld gibt. Auch RowLimit ist für 200 Elemente für die Abfrage fest kodiert, aber die benötigte Anzahl kann mit dem optionalen Parameter rowlimit(number) angegeben werden. Wenn eine Liste, die keine Unterliste ist, ausgewählt wird (keine Nachschlagemöglichkeit zu der in der Aktionslink-Konfiguration ausgewählten Liste hat), wird keine Filterung angewendet. Die Iteration endet mit [[end loop]] | [[loop]] [[Title]] [[end loop]] ------------------------------------------------------------- [[loop SubListTitle filterlookupfield('filed_internal_name') rowlimit(number)]] [[Title]] [[Firstname]] [[end loop]] | |||||||
Gefilterte Loops | Dabei ist 'SomeView' der Titel einer .aspx-Ansichtsseite: Die Reihenfolge und der Filter der Ansicht werden angewendet. Wenn eine CAML-Abfrage hinzugefügt wird (optional), wird sie mit der Abfrage der Ansicht durch einen 'und'-Operator verbunden. | [[loop SublistTitle view('SomeView') query('<Where><BeginsWith><FieldRef Name="Title" /><Value Type="Text">[[{return [[Title]];}]]</Value></BeginsWith></Where>')]] [[Title]] [[end loop]] | |||||||
Loops über Dokumente in Unterbibliotheken | Verwenden Sie die Eigenschaft Scope="Rekursiv" in der Abfrage, um Dokumente in einem Ordner zu erhalten, wenn dieser als Unterbibliothek eines Dossiers verwendet wird. Kombinieren Sie rekursiven Bereich und Filter in der CAML-Abfrage, um die Metadaten der aufgelisteten Dokumente zu filtern. | [[loop SublibraryName query('<View Scope="Recursive"></View>')]] [[FileLeafRef]] [[Title]] [[OtherField]] [[end loop]] ------------------------------------------------------------- [[loop SublibraryName query('<View Scope="Recursive"><Query><Where><Eq><FieldRef Name="IsActive" /><Value Type="Boolean">1</Value></Eq></Where><OrderBy></OrderBy></Query></View>')]] [[FileLeafRef]] [[Title]] [[OtherField]] [[end loop]] | |||||||
Verschachtelte Loops | Eine Schleife über eine Unterliste innerhalb der Schleife über mehrere Elemente der übergeordneten Liste wird unterstützt. Schleifen über mehrere Unterlisten oder Unterlisten von Unterlisten werden ebenfalls unterstützt. Wenn der Platzhalter [[@Loop.Parent.Firstname]] verwendet wird, können die Daten der übergeordneten Schleife innerhalb der verschachtelten Schleife abgerufen werden. Mögliche Formate: [[@Loop.Parent.Field1]] | [[loop]] [[Title]] [[loop SubList1]] [[Title]] [[Firstname]] [[end loop]] [[loop SubList2]] [[Title]] [[Firstname]] [[end loop]] [[end loop]] ------------------------------------------------------------- [[loop]] [[Title]] [[loop SubListTitle]] [[Title]] [[Firstname]] [[loop SublistTitleOfSublist]] [[Title]] [[@Loop.Parent.Firstname]] [[end loop]] [[end loop]] [[end loop]] | |||||||
Loops in Tabellen | Es ist möglich, Schleifen über Tabellenzeilen zu ziehen, indem die Schleife innerhalb der Tabelle eingefügt wird. Wenn bei verschachtelten Schleifen die Schleife über die übergeordnete Liste in die externe Tabelle eingefügt wird, wird für jedes übergeordnete Element eine eigene Tabelle erstellt. |
| |||||||
Bild | Ein Bild innerhalb des Dokuments anzeigen Sie können optional die statische Breite und Höhe des Bildes sowie die maximale und minimale Breite und Höhe angeben. Die Parameter Breite/Höhe sind nicht obligatorisch und können als leere Zeichenkette '' oder Null angegeben werden. Hinweis: Der Platzhalter [[Bild...]] funktioniert nur mit Bildern auf der aktuellen Site für geplante und ausgelöste Aktionen | [[image ([[Picture]], width, height, maxwidth, maxheight, minwidth, minheight)]]
Without width and height: [[image ([[Picture]])]]
Static width and height numbers used: [[image ([[Picture]], 50, 50)]]
Static width number used: [[image ([[Picture]], 20)]]
Static height number used: [[image ([[Picture]],,150)]]
[[image ([[Picture]], '', '', 100, 300)]] | |||||||
Link | Einen Link im Dokument erstellen | [[link ([[Hyperlink]])]]
|
Die folgenden Platzhalter aus dem Expression Builder können in der Word-Vorlage verwendet werden:
Für die Verwendung bei der Dokumentenerstellung nicht unterstützt: