我正在使用Alfreso 4.2c和Activiti来创建我的工作流程。我需要在每个任务中向用户提供不同的操作。例如,在任务中我需要提供诸如 “重新安排会议”,“取消会议”,“发送到练习头”和“取消” 等操作而不是只有“任务完成”和“取消”。我已经覆盖了 “bpm:outcomePropertyName” ,但它只更改了工作流程历史记录中的结果标签。
任何人都可以指导我如何实现这一目标?先感谢您。
答案 0 :(得分:1)
您需要在工作流模型中定义自己的结果约束,例如:
<type name="my:myTask">
<parent>wf:activitiReviewTask</parent>
<overrides>
<property name="wf:reviewOutcome">
<default>Restart Review</default>
<constraints>
<constraint name="my:myOutcomeOptions" type="LIST">
<parameter name="allowedValues">
<list>
<value>Approve</value>
<value>Restart Review</value>
<value>Reject</value>
</list>
</parameter>
</constraint>
</constraints>
</property>
</overrides>
</type>
当然,您必须将自定义序列流添加到工作流程定义中。
<exclusiveGateway id="reviewDecision" name="Review Decision"></exclusiveGateway>
<sequenceFlow id="flow3" name="" sourceRef="reviewDecision" targetRef="ReviewRejected">
<conditionExpression xsi:type="tFormalExpression">${wf_reviewOutcome == 'Reject'}</conditionExpression>
</sequenceFlow>
<sequenceFlow id="flow3" name="" sourceRef="reviewDecision" targetRef="RestartReview">
<conditionExpression xsi:type="tFormalExpression">${wf_reviewOutcome == 'Restart Review'}</conditionExpression>
</sequenceFlow>
...
答案 1 :(得分:0)
使用按钮实现自定义操作 - 在activiti grails休假请求示例应用程序中。例如。保存输入的任务数据,而不是完成任务。但是,编写grails中的自定义代码是为了实现此功能。我希望,在activiti中有一些标准方式,按钮被添加为标准表单组件。