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

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:tim:actionhandler:wordtemplatehandler [2017/09/12 15:58]
julian.le [Parameter]
software:tim:actionhandler:wordtemplatehandler [2021/07/01 09:52] (aktuell)
Zeile 1: Zeile 1:
-=======WordTemplateHandler========+====== WordTemplateHandler ====== 
 ==== Beschreibung ==== ==== 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 +Dieser [[:​software:​tim:​actionhandler|Handler]] beschreibt ein Word-Dokument mit Werten aus Smartform-Variablen. 
-überschrieben werden dürfen (true) oder, ob ein neues Template angelegt werden soll. \\+ 
 +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.\\+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 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 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}\\+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]] eingebaut werden, um bei Bedarf ein Template zu generieren. Mehr dazu [[wordtemplatehandler#​wordtemplatehandler_in_die_smartform_integrieren|hier]]</​note>​+<​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 ==== ==== Klasse ====
 +
 <​code>​ <​code>​
 com.dooris.bpm.actionhandler.WordTemplateHandler com.dooris.bpm.actionhandler.WordTemplateHandler
 </​code>​ </​code>​
-\\+
 ---- ----
-==== Event Type ==== + 
 +==== Event Type ==== 
 beliebig beliebig
-==== Action Name ==== + 
 +==== Action Name ==== 
 beliebig beliebig
-==== Mandatory Fields ==== + 
 +==== Mandatory Fields ==== 
 - -
 +
 ---- ----
-==== Parameter ==== + 
 +==== Parameter ==== 
 === template === === 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]])+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 == == 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. 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. +   - Der wordTemplateHandler sucht wörtlich nach dem Template **${SYS.PROCESSINSTANCE_NAME}_report.docx**. 
-  - Erst jetzt sucht der wordTemplateHandler nach dem Template **8D-ProblemSolving_report.docx** (8D-ProblemSolving ist der Wert der Variable SYS.PROCESSINSTANCE_NAME). +  - Kann das Dokument nicht gefunden werden, wird die Prozessvariable **SYS.PROCESSINSTANCE_NAME** ​ im Dokumentennamen aufgelöst. 
-<note important>​Verfügbar ab Version 5.4</​note>​ +  - Erst jetzt sucht der wordTemplateHandler nach dem Template **8D-ProblemSolving_report.docx** ​ (8D-ProblemSolving ist der Wert der Variable SYS.PROCESSINSTANCE_NAME). 
-\\ + 
-\\ === overwriteExisting (optional) ===  +<note important>​Verfügbar ab Version 5.4</​note>​ \\ 
-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 +=== overwriteExisting (optional) === 
-\\ === documentPrefix ===  + 
-Das **documentPrefix** kann angegeben werden, um erstelle PDF's immer den angegeben Wert vor dem Templatenamen stehen zu haben. +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 \\ 
-\\ === 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. +=== documentPrefix === 
-\\ === 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. +Das **documentPrefix** ​ kann angegeben werden, um erstelle PDF's immer den angegeben Wert vor dem Templatenamen stehen zu haben. 
-> Dieser Wert ist standardmässig auf **false** gesetzt + 
-\\ === interpretNummbersAsBoolean ===+=== 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 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 === +^Variablename^Wert^Ergebnis im PDF| 
-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. +^baa1^true^true| 
-> Erst ab Version 3.5 verfügbar!+^boolbaa1^true^ja| 
 +^boolbaa1^1^ja| 
 +^boolbbb1^false^nein| 
 +^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 === +=== 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. +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. 
-\\    + 
-**Wichtig:​** eine Dateiendung wird nicht benötigt. +<​code>​ 
-<​code>​target=${processInstanceId}_${processInstanceName}_report</​code>​ +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. +</​code>​ 
-\\ {{ :​software:​tim:​actionhandler:​wordtemplatehandler2.png?​700 }}+ 
 +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:​
  
-\\ 
- ==== 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>​ <​code>​
 Änderungsabwicklung_E1_tim_123_test_1.pdf Änderungsabwicklung_E1_tim_123_test_1.pdf
Zeile 86: Zeile 114:
  
 ---- ----
 +
 ==== Wordtemplatehandler in die Smartform integrieren ==== ==== 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 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 ​html>+ 
 +<​code ​html4strict>
 <button type="​button"​ onbuttonclick="​generateFileFromTemplate([{handler:'​WordTemplateHandler',​template:'​pfad/​zumTemplate.docx',​pdf:​false,​attach:​false,​open:​true,​documentPrefix:'​Prefix'​}])"/>​ <button type="​button"​ onbuttonclick="​generateFileFromTemplate([{handler:'​WordTemplateHandler',​template:'​pfad/​zumTemplate.docx',​pdf:​false,​attach:​false,​open:​true,​documentPrefix:'​Prefix'​}])"/>​
 </​code>​ </​code>​
  
-Weiter Infos können Sie der Seite [[software:​tim:​smartform:​pdf_button|PDF Buttons]] entnehmen. +Weiter Infos können Sie der Seite [[:software:​tim:​smartform:​pdf_button|PDF Buttons]] entnehmen. 
------+ 
 +----
  
 ==== Der Dokumentenverlauf ==== ==== 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).+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 }}+{{  :​software:​tim:​actionhandler:​documenthistory.png?​700 ​ }}
  
-----  +----
  
 ==== Beschreiben des Templates ==== ==== 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. 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 ==== ==== Mögliche Probleme ====
-[[support:​wordtemplatehandler|Typische Fehler]]+ 
 +[[:support:​wordtemplatehandler|Typische Fehler]] 
 + 
 +\\ 
 + 
software/tim/actionhandler/wordtemplatehandler.1505224702.txt.gz · Zuletzt geändert: 2021/07/01 09:57 (Externe Bearbeitung)