我想从mcwf:status
中的模型中获取属性值startevent
。
然后我需要将mcwf:status
的值传递给其他表单。
下面是代码,它不是打印变量, 看来extensionElement的部分还没有运行?
bpmn图的片段:
<startEvent id="startevent1" name="Start" activiti:formKey="mcwf:submitReviewTask">
<extensionElements>
<activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string><![CDATA[
var newstatus = task.getVariableLocal('mcwf_status');
execution.setVariable('mcwf_newstatus', newstatus);
logger.log("AAAAAAAAA " + newstatus);
]]></activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
</startEvent>
模型文件的片段:
<aspect name="mcwf:status">
<title>Status</title>
<properties>
<property name="mcwf:status">
<title>Status</title>
<type>d:text</type>
<default>0</default>
<constraints>
<constraint type="LIST">
<parameter name="allowedValues">
<list>
<value>100</value>
<value>200</value>
</list>
</parameter>
</constraint>
</constraints>
</property>
</properties>
</aspect>
如果我将startevent
更改为usertask
,那么我会复制extensionElements的代码并粘贴而不是它,并且不知道为什么它可以正常工作。
答案 0 :(得分:1)
以下是我在下一个任务中使用变量的代码片段。
<startEvent id="startevent2" name="Start" activiti:initiator="${initiator.properties.userName}" activiti:formKey="aw:TransportManager">
<extensionElements>
<activiti:executionListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string>
<![CDATA[
execution.setVariable('aw_vehicle_number', task.getVariable('aw_vehicle_number'));
execution.setVariable('aw_reg_number', task.getVariable('aw_reg_number'));
execution.setVariable('bpm_workflowDescription', task.getVariable('bpm_workflowDescription'));
execution.setVariable('aw_finance_comments',task.getVariable('bpm_comment'));
]]></activiti:string>
</activiti:field>
</activiti:executionListener>
</extensionElements>
</startEvent>
将activiti:taskListener更改为activiti:executionListener。