如何在露天的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。