我正在尝试通过在userTask块内添加以下内容来添加任务时添加过程变量:
<activiti:taskListener event="assignment" class="org.activiti.engine.impl.bpmn.listener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string><![CDATA[
execution.setVariable("taskAssignedTo", task.assignee);
]]>
</activiti:string>
</activiti:field>
<activiti:field name="language">
<activiti:string><![CDATA[JavaScript]]></activiti:string>
</activiti:field>
</activiti:taskListener>
但是它抛出错误:
org.activiti.engine.ActivitiException:调用TaskListener时发生异常:调用TaskListener时发生异常:评估脚本的问题:ReferenceError:在行号1上未定义“执行” 在org.activiti.engine.impl.bpmn.listener.ListenerNotificationHelper.executeTaskListeners(ListenerNotificationHelper.java:124)处 在org.activiti.engine.impl.bpmn.listener.ListenerNotificationHelper.executeTaskListeners(ListenerNotificationHelper.java:104)处 在org.activiti.engine.impl.persistence.entity.TaskEntityManagerImpl.fireAssignmentEvents(TaskEntityManagerImpl.java:141)
这可能是什么原因?
答案 0 :(得分:0)
我有解决办法
应该是:
task.getExecution().setVariable("taskAssignedTo", task.assignee);