如何在露天的startevent中设置变量?
how to set a variable in startevent in alfresco?
我想从 startevent
中的模型中获取 属性 值 mcwf:status
。
然后我需要将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的代码复制过来粘贴,不知道为什么能正常工作
下面是我在下一个任务中使用变量的代码片段。
<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。
我想从 startevent
中的模型中获取 属性 值 mcwf:status
。
然后我需要将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的代码复制过来粘贴,不知道为什么能正常工作
下面是我在下一个任务中使用变量的代码片段。
<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。