如何在Alfresco中通过Activiti工作流javascript获得bpm_结果
我正在努力通过一个简单的“完整”ScriptTaskListner在任务中获取“bpm:Output”变量。我补充说我正在使用Activi工作流引擎 这是我的尝试:如何在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
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上找到详细信息,你可以在那里与我联系;)呵呵,是的,我知道……事实上我也没有加入他们。我想我会成为一个推特人。如果你点击我个人资料中的网站,删除你的联系人,我会尝试与你联系。