Benutzer-Werkzeuge

Webseiten-Werkzeuge


Plugin installed incorrectly. Rename plugin directory 'swiftmail.backup' to 'swiftmail'.
software:tim:actionhandler:wordtemplatehandler

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

software:tim:actionhandler:wordtemplatehandler [2019/04/15 09:08]
Semen Bortnik
software:tim:actionhandler:wordtemplatehandler [2021/07/01 09:52]
Zeile 1: Zeile 1:
-====== WordTemplateHandler ====== 
- 
-==== Beschreibung ==== 
- 
-Dieser [[:​software:​tim:​actionhandler|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 [[:​software:​tim:​changelog:​tim37|Tim-Version 3.7]] können auch die Variablen des [[:​faq:​variableshelper|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} 
- 
-<​note>​Der WordTemplateHandler kann auch als Button in die [[:​software:​tim:​smartform|Smartform]] eingebaut werden, um bei Bedarf ein Template zu generieren. Mehr dazu [[:​software:​tim:​actionhandler:​wordtemplatehandler#​wordtemplatehandler_in_die_smartform_integrieren|hier]]</​note>​ 
- 
----- 
- 
-==== Klasse ==== 
- 
-<​code>​ 
-com.dooris.bpm.actionhandler.WordTemplateHandler 
-</​code>​ 
- 
----- 
- 
-==== Event Type ==== 
- 
-beliebig 
- 
-==== Action Name ==== 
- 
-beliebig 
- 
-==== Mandatory Fields ==== 
- 
-- 
- 
----- 
- 
-==== Parameter ==== 
- 
-=== template === 
- 
-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|Beispiel]]) 
- 
-== Spezialfall:​ Auflösen von Prozessvariablen im Template-Namen == 
- 
-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. 
- 
-   - Der wordTemplateHandler sucht wörtlich nach dem Template **${SYS.PROCESSINSTANCE_NAME}_report.docx**. 
-  - Kann das Dokument nicht gefunden werden, wird die Prozessvariable **SYS.PROCESSINSTANCE_NAME** ​ im Dokumentennamen aufgelöst. 
-  - Erst jetzt sucht der wordTemplateHandler nach dem Template **8D-ProblemSolving_report.docx** ​ (8D-ProblemSolving ist der Wert der Variable SYS.PROCESSINSTANCE_NAME). 
- 
-<note important>​Verfügbar ab Version 5.4</​note>​ \\ 
- 
-=== overwriteExisting (optional) === 
- 
-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 \\ 
- 
-=== documentPrefix === 
- 
-Das **documentPrefix** ​ kann angegeben werden, um erstelle PDF's immer den angegeben Wert vor dem Templatenamen stehen zu haben. 
- 
-=== pdf (optional) === 
- 
-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. 
- 
-=== removeEmptyTableRows (optional) === 
- 
-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 [[:​software:​tim:​changelog:​tim582|5.8.2]] verfügbar. > Dieser Wert ist standardmässig auf **false** ​ gesetzt \\ 
- 
-=== interpretNummbersAsBoolean === 
- 
-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| 
- 
-=== interpretBooleanAsHuman === 
- 
-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! 
- 
----- 
- 
-=== target === 
- 
-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. 
- 
-<​code>​ 
-target=${processInstanceId}_${processInstanceName}_report 
-</​code>​ 
- 
-Für eine Instanz des **8D Problem Solving Prozesses** ​ wird das Dokument z.B. unter dem Namen **1467_8D-ProblemSolving_report.docx** ​ abgespeichert. \\ {{  :​software:​tim:​actionhandler:​wordtemplatehandler2.png?​700 ​ }} 
- 
-=== locale === 
- 
-Diesem Parameter können alle von TIM unterschtützten Sprachen als Kürzel (z.B. de, en) übergeben werden. Dies führt dazu, dass von TIM generierte Wörter (z.B. Ja/Nein bei Boolean-Auswertungen) übersetzt werden. 
- 
----- 
- 
-==== Beispiel ==== 
- 
-{{  :​software:​tim:​actionhandler:​wordtemplatehandler.png?​700 ​ }} \\ In diesem Beispiel, wird nach dem Auslösen des wordTemplateHandlers eine PDF angehängt, die sich wie folgt zusammensetzt:​ 
- 
-<​code>​ 
-Änderungsabwicklung_E1_tim_123_test_1.pdf 
-</​code>​ 
- 
----- 
- 
-==== Wordtemplatehandler in die Smartform integrieren ==== 
- 
-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 
- 
-<code html4strict>​ 
-<button type="​button"​ onbuttonclick="​generateFileFromTemplate([{handler:'​WordTemplateHandler',​template:'​pfad/​zumTemplate.docx',​pdf:​false,​attach:​false,​open:​true,​documentPrefix:'​Prefix'​}])"/>​ 
-</​code>​ 
- 
-Weiter Infos können Sie der Seite [[:​software:​tim:​smartform:​pdf_button|PDF Buttons]] entnehmen. 
- 
----- 
- 
-==== Der Dokumentenverlauf ==== 
- 
-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). 
- 
-{{  :​software:​tim:​actionhandler:​documenthistory.png?​700 ​ }} 
- 
----- 
- 
-==== Beschreiben des Templates ==== 
- 
-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. 
- 
----- 
- 
-==== Mögliche Probleme ==== 
- 
-[[:​support:​wordtemplatehandler|Typische Fehler]] 
- 
-\\ 
- 
  
software/tim/actionhandler/wordtemplatehandler.txt · Zuletzt geändert: 2021/07/01 09:52 (Externe Bearbeitung)