如何在任务分配的流程定义中添加流程变量?

时间:2019-05-17 15:33:11

标签: activiti

我正在尝试通过在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)

这可能是什么原因?

1 个答案:

答案 0 :(得分:0)

我有解决办法

应该是:

task.getExecution().setVariable("taskAssignedTo", task.assignee);