Dies ist eine alte Version des Dokuments!
Dieser Handler beschreibt ein Word-Dokument mit Werten aus Smartform-Variablen.
Durch den Parameter „overwriteExisting“ wird angegeben, ob bereits bestehende Templates
überschrieben werden dürfen (true) oder, ob ein neues Template angelegt werden soll.
Ab Tim-Version 3.7 können auch die Variablen des VariablesHelper benutzt werden.
Es ist möglich an der Instanz hängende Bilder in das Word-Dokument einzufügen. Hierzu muss es im Template spezielle Variablen geben.
Es können entweder einzelne Bilder eingefügt werden: $img{bild.jpg} ← Exakter Name des einzufügenden Bildes
Es können auch alle an der Instanz hängenden Bilder eingefügt werden: $img{addAllImages}
com.dooris.bpm.actionhandler.WordTemplateHandler
beliebig
beliebig
-
Hier wird der Pfad zum Template angegeben. Er kann absolut oder relativ zum Externalfilepath in der loom.properties angegeben werden.
Um das generierte PDF umzubenennen, kann der Name des Templates selbst Prozessvariablen enthalten. (siehe Beispiel)
Angenommen im Parameter template wird folgender Wert hinterlegt: template=${SYS.PROCESSINSTANCE_NAME}_report.docx. Im Zielordner (z.B. C:\user\hb\documents\reports) wird das Template nach folgendem Schema gesucht.
Kann entweder true oder false sein. Ist der Wert auf True gesetzt, überschreibt TIM bestehende PDF's, falls der Prozess durch eine Schleife nochmals durchlaufen wird. Wird das PDF allerdings noch benötigt, muss der Wert auf false stehen.
Dieser Wert ist standardmässig auf false gesetzt
Das documentPrefix kann angegeben werden, um erstelle PDF's immer den angegeben Wert vor dem Templatenamen stehen zu haben.
Erst wenn dieser Wert auf true gesetzt ist, erstellt TIM ein PDF. Ist der Wert auf false gesetzt oder wird nicht angegeben, ersetzt TIM die Variablen im Template und erstellt eine Worddatei, die dem Prozess angehängt wird.
Wenn dieser Wert auf true gesetzt ist, werden alle Tabellenzeilen im docx-Template geleert, falls die Variable in der ersten Spalte nicht vorhanden oder leer ist. Damit können unschöne Leerzeilen bei dynamischen Inhalten (DOMRepeater) vermieden werden. Der Parameter ist erst ab Version 5.8.2 verfügbar.
Dieser Wert ist standardmässig auf false gesetzt
Ist dieser Wert nicht gesetzt, ist der Wert standardmäßig „false“. Ist dieser Wert auf true gesetzt, werden Prozessvariablen (die mit dem Namen „bool“ beginnen) wie folgt umgewandelt
Variablename | Wert | Ergebnis im PDF |
---|---|---|
baa1 | true | true |
boolbaa1 | true | ja |
boolbaa1 | 1 | ja |
boolbbb1 | false | false |
bobbb1 | 0 | 0 |
boolbbb1 | 0 | nein |
Der Standardwert dieses Parameters ist „false“. Ist der Wert auf true gesetzt, werden alle Werte aller Variablen die true oder false sind, als Ja oder Nein ersetzt.
Erst ab Version 3.5 verfügbar!
\\
Kann genutzt werden um Ja/Nein im Dokument in eine ausgewählte Sprache übersetzen. Setzt man so zum Beispiel locale=en, dann werden Ja und Nein mit Yes und No angegeben. Diese Sprache muss dabei in TIM enthalten sein. Falls aus einem unbekannten Grund die Sprache nicht gefunden werden kann, wird als default Yes/No genutzt
Mit dem target Parameter kann der Dokumentenname im Zielordner festgelegt werden. Diese Vorgehensweise bietet sich an, wenn sich der Name der erstellten Word Datei vom Namen des Templates unterscheiden soll. Der target Parameter kann Prozessvariablen enthalten.
Angenommen Sie möchten zwei Berichte in deutscher und englischer Sprache generieren. Dafür haben Sie das Wordtemplate ${SYS.PROCESSINSTANCE_NAME}_report_${language} im Ressourcenordner abgelegt. Mit dem target Parameter kann nun der Dateiname mit target=XY-Report_DE geändert werden. So können aus dem gleichen Template Word Dateien mit unterschiedlichen Namen erstellt werden.
Wichtig: eine Dateiendung wird nicht benötigt.
target=${processInstanceId}_${processInstanceName}_report
Für eine Instanz des 8D Problem Solving Prozesses wird das Dokument z.B. unter dem Namen 1467_8D-ProblemSolving_report.docx abgespeichert.
In diesem Beispiel, wird nach dem Auslösen des wordTemplateHandlers eine PDF angehängt, die sich wie folgt zusammensetzt:
Änderungsabwicklung_E1_tim_123_test_1.pdf
Der Wordtemplatehandler kann als Link, Button oder zB als Bild in eine Smartform integriert werden, falls beteiligte ein Template zu jedem Zeitpunkt erzeugen wollen. Hier muss nur folgender Code in die Smartform eingebaut werden
<button type="button" onbuttonclick="generateFileFromTemplate([{handler:'WordTemplateHandler',template:'pfad/zumTemplate.docx',pdf:false,attach:false,open:true,documentPrefix:'Prefix'}])"/>
Weiter Infos können Sie der Seite PDF Buttons entnehmen.
Seit Version 5.2 kann der Dokumentenverlauf einer Instanz über die Systemvariable ${SYS.DOC_HISTORY} ausgegeben werden. Der Dokumentenverlauf zeigt auf welche Dokumente der Instanz angehängt, bearbeitet oder entfernt wurden. Mithilfe des wordTemplateHandler kann der Dokumentenverlauf z.B. in ein Word-Dokument oder PDF gespeichert werden (s. Screenshot).
Normal geschriebener Text wird übernommen, die Variablen, sofern mit ${ID der Variable} gekennzeichnet, überschrieben. Ausnahme bilden hier die Radio-Buttons: Bei diesen muss man den Namen statt der ID verwenden.