在 Activity(与 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>
任务模型:
<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>
所以 Alfresco 只是使用一个正常的字段来确定结果。所以你的语法没问题,你只需要得到正确的变量。在这种情况下,它是task.getVariable('wf_reviewOutcome')