2013-07-27 74 views
0

我正在努力通過一個簡單的「complete」ScriptTaskListner在我的任務中獲得「bpm:outcome」變量。我添加我正在使用Activi WorkFlow引擎。如何通過Activiti工作流程在JavaScript中獲得bpm_outcome

這是我的嘗試:

var import = task.getVariable('bpm_outcome'); 

很奇怪...返回的值是 「下一步」(?!?!)

反正...我讀過,也許這可以完成這項工作:

TaskInstance ti = ... ti.getVariableLocally(「bpm_outcome」);

ti.getVariable( 「bpm_outcome」);

但我無法得到taskinstance ...任何建議? 其他「wf:...」變量可以通過簡單的task.getvariable嘗試完美捕獲。

在此先感謝!

回答

3

在活動中(與JBPM不同),除Next/Done之外沒有其他結果。

如果你看一下默認的審查和批准露天的工作流程,你會發現他們已經推出了一個新的變量看到的結局是什麼:

<activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener"> 
        <activiti:field name="script"> 
        <activiti:string> 
         execution.setVariable('wf_reviewOutcome', task.getVariable('wf_reviewOutcome')); 
        </activiti:string> 
        </activiti:field> 
       </activiti:taskListener> 

任務模式:

<property name="wf:reviewOutcome"> 
        <type>d:text</type> 
        <default>Reject</default> 
        <constraints> 
         <constraint name="wf:reviewOutcomeOptions" type="LIST"> 
          <parameter name="allowedValues"> 
           <list> 
            <value>Approve</value> 
            <value>Reject</value> 
           </list> 
          </parameter> 
         </constraint> 
        </constraints> 
       </property> 

份額配置:

<field id="wf:reviewOutcome" label-id="workflow.field.outcome" set="response"> 
        <control template="/org/alfresco/components/form/controls/workflow/activiti-transitions.ftl" /> 
       </field> 

所以露天只是使用普通區確定OUTC青梅。所以你的語法沒問題,你只需要得到正確的變量。在這種情況下,它是task.getVariable('wf_reviewOutcome')

+0

其實我懷疑它。馬利克你像往常一樣偉大,我想盡快與你聯繫,是否有可能違反規則分享我的郵件? –

+0

嗨馬克,如果你點擊我的個人資料,你會發現我的linkedin/twitter的詳細信息,你可以聯繫我:) –

+0

eehehe是的,我知道......事實是我沒有加入他們。我想,我會成爲一個推特人。 –

相關問題