2017-10-16 247 views
0

我已經創建了一個利用腳本任務(exam_result as integer,exam_grade as integer,remarks as string)作業的工作流程。在用戶任務中,我創建了一個表單參考(帶有文本框),用於處理考試結果的數據輸入。 考試結果文本字段應傳遞給exam_result變量,該變量將通過決策表任務進行評估。Activiti,將表單字段控制值傳遞給腳本任務變量(反之亦然)

將數據從表單字段控制發送到腳本任務變量或反之的最佳做法是什麼?

您的幫助非常感謝,謝謝。

回答

4

將這些值存儲到執行變量中,您應該可以在所有任務中訪問它們。

您可以使用任務偵聽器來讀取表單值並將它們存儲到如下所示的執行變量中。

execution.setVariable('exam_result',task.getVariable('exam_result')); 
execution.setVariable('exam_grade',task.getVariable('exam_grade')); 
execution.setVariable('remarks',task.getVariable('remarks')); 

如果你想訪問他們在另一個任務聽衆,

var examResult = execution.getVariable('exam_result'); 
var examgrade = execution.getVariable('exam_grade'); 
var remarks= execution.getVariable('remarks'); 

這是代表們的一面,你可以像下面訪問它們。

int examResult = (int) executionVariables.get("exam_result"); 
int examGrade = (int) executionVariables.get("exam_grade"); 
string remarks = (string) executionVariables.get("remarks"); 

希望這可以幫助你。

請讓我知道,如果它不清楚給你。

+0

嗨@Muralidharan我試着在用戶任務符號(事件'完成')下使用任務監聽器,並添加了一個表達式,但它沒有奏效。 我把這個片段放在表達式文本框中: execution.setVariable('exam_result',task.getVariable('examresult')); 它仍然沒有將examresult的文本值傳遞給exam_result腳本變量。 –

+0

你能分享bpmn文件嗎? –

+0

嗨@Muralidharan,我設法改變方法,因爲我發現即時通訊使用文本控件而不是數字控件,爲什麼邏輯表達式小於等於等等沒有顯示在下拉列表中。感謝您的努力和幫助 –

相關問題