camunda_10_script_task_access_variable
script task 訪問流程變量的方法
通過inputs讀取流程變量
在inputs中定義一個新的input, 可以設定一個local 變量, 選擇類型為: string/expression, 取值可以是基于流程變量的表達式, 比如 ${amount+100}
通過outputs屬性區(qū)修改流程變量
在outputs中定義一個新的 output ,可以設定輸出的process變量名, 這時可以新建process變量, 也可以指定使用已有的process變量,
Assignment tyep: 選 Script,
Format: 輸入 javascript
Type: 選擇 Inline script
Script 區(qū): 輸入一行或多行js腳本, 但最后一行必須是一個表達式, 而且不能帶分號, camunda 會將該表達式賦值給輸出的process變量中.
通過Script屬性區(qū)修改流程變量,
操作方法同 outputs, 只不過通過Script屬性區(qū)只能修改一個流程變量, 而outputs可以修改多個變量.
腳本中使用 execution.getVariable() 和 setVariable()訪問流程變量
<bpmn:script>
sum=execution.getVariable("amount");
execution.setVariable("amount", sum+1000);
<bpmn:/script>
腳本內(nèi)容最好使用 CDATA 包一下
腳本內(nèi)容可以通過Modeler UI直接輸入, 但因為最后要存到xml中, 所以很可能會發(fā)生xml轉義(比如代碼中有<或&符號), 這樣會造成流程文件的版本管理不好diff, 最好是將代碼用CDATA包一下, 操作方法是在XML 視圖中, 找到腳本tag, 輸入 <![CDATA[ ]]> .
<bpmn:script>
<![CDATA[
]]>
<bpmn:/script>

浙公網(wǎng)安備 33010602011771號