如何在Alfresco中通过Activiti工作流javascript获得bpm_结果

如何在Alfresco中通过Activiti工作流javascript获得bpm_结果,javascript,workflow,task,alfresco,activiti,Javascript,Workflow,Task,Alfresco,Activiti,我正在努力通过一个简单的“完整”ScriptTaskListner在任务中获取“bpm:Output”变量。我补充说我正在使用Activi工作流引擎 这是我的尝试: var import = task.getVariable('bpm_outcome'); 很奇怪…返回的值是“下一步”(!!?!?) 不管怎么说,我已经读到了,也许这能起到作用: 任务实例ti=。。。 ti.getVariableLocal(“bpm_结果”) 或 ti.getVariable(“bpm_结果”) 但我找不到ta

我正在努力通过一个简单的“完整”ScriptTaskListner在任务中获取“bpm:Output”变量。我补充说我正在使用Activi工作流引擎

这是我的尝试:

var import = task.getVariable('bpm_outcome');
很奇怪…返回的值是“下一步”(!!?!?)

不管怎么说,我已经读到了,也许这能起到作用:

任务实例ti=。。。 ti.getVariableLocal(“bpm_结果”)

ti.getVariable(“bpm_结果”)

但我找不到taskinstance…有什么建议吗? 通过简单的task.getvariable尝试,可以完美地捕获其他“wf:…”变量

提前谢谢

在活动中(与JBPM不同),除了下一步/完成之外,没有其他结果

如果查看Alfresco的默认审阅和批准工作流,您会注意到他们引入了一个新变量,以查看结果:

<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>

setVariable('wf_reviewOutcome',task.getVariable('wf_reviewOutcome');
任务模型:

<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>

d:文本
拒绝
批准
拒绝
共享配置:

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

所以Alfresco只是用一个标准场来确定结果。所以你的语法是好的,你只需要得到正确的变量。在这种情况下,它是task.getVariable('wf\u reviewOutcome')

在活动中(与JBPM不同),除了Next/Done之外没有其他结果

如果查看Alfresco的默认审阅和批准工作流,您会注意到他们引入了一个新变量,以查看结果:

<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>

setVariable('wf_reviewOutcome',task.getVariable('wf_reviewOutcome');
任务模型:

<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>

d:文本
拒绝
批准
拒绝
共享配置:

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


所以Alfresco只是用一个标准场来确定结果。所以你的语法是好的,你只需要得到正确的变量。在本例中,它是task.getVariable('wf\u reviewOutcome')

实际上我怀疑它。Malik你和往常一样棒,我想尽快联系你,有可能吗,分享我的邮件是违反规定的吗?嗨,马克,如果你点击我的个人资料,你会在我的linkedin/twitter上找到详细信息,你可以在那里与我联系;)呵呵,是的,我知道……事实上我也没有加入他们。我想我会成为一个推特人。如果你点击我个人资料中的网站,放下你的联系人,我会尝试联系你。事实上我怀疑这一点。Malik你和往常一样棒,我想尽快联系你,有可能吗,分享我的邮件是违反规定的吗?嗨,马克,如果你点击我的个人资料,你会在我的linkedin/twitter上找到详细信息,你可以在那里与我联系;)呵呵,是的,我知道……事实上我也没有加入他们。我想我会成为一个推特人。如果你点击我个人资料中的网站,删除你的联系人,我会尝试与你联系。