我是春季靴子的新手。我创建了这个过程,即
开始--->用户任务--->用户任务---->结束。
现在我必须将动态受理人分配给两个用户任务。我已将受让人发送给第一个用户任务:
ProcessInstance process = runtimeService.startProcessInstanceByKey('process', variables);
Task task = taskService.createTaskQuery().processInstanceId(process.getId()).singleResult();
task.setAssignee("charnjeet");
taskService.saveTask(task);
现在,当我从http://localhost:8080/activiti-explorer/ui/完成任务,然后是Listener,Service任务表达式正在运行。有人能帮我一下吗。我想将两个用户任务分配给“charnjeet”。
答案 0 :(得分:1)
Acitiviti不会在完成任务之前列出下一个任务,因此您无法在完成TASK1之前分配任务受让人
我通过使用基于表达式的受让人分配
来解决这个问题我将用户任务定义为
<userTask id="sid-42BAE58A-8FFB-4B02-AAED-E0D8EA5A7E39" name="Telephone interview" activiti:assignee="${taskAssingeeName}">
<documentation>Conduct a telephone interview with ${applicant.name}. Phone number = ${applicant.phoneNumber}</documentation>
</userTask>
添加了 activiti:assignee="${taskAssingeeName}"
!此表达式变量将动态设置受理人
其中 taskAssingeeName
是流程变量
答案 1 :(得分:0)
这些是节省时间的一些方法,可以在activiti:assignee="${assingee}"
中用作XML:
1。)创建一个开始表单,选择将为这两项任务分配的${assignee}
(文本字段)。
2.。)在每个任务结束时创建一个执行监听器,为下一个任务设置${assignee}
。
3。)正如Arjun先生所解释的那样。