AnsweredAssumed Answered

Workflow - les variables

Question asked by livier on Aug 20, 2018

Bonjour,

 

J'essaie de développer un workflow mais je rencontre des difficultés concernant la récupération des variables entre des tâches.

    <startEvent id="startevent1" name="Start" activiti:formKey="scwf:submitReviewTask">
    <extensionElements>
            <activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
                  <activiti:field name="script">
                    <activiti:string>
                        <![CDATA[
                            execution.setVariable('scwf_history', task.getVariable('scwf_numAgent'));
                        ]]>
                    </activiti:string>
                  </activiti:field>
            </activiti:taskListener>
        </extensionElements>
    </startEvent>
    <endEvent id="endevent1" name="End"></endEvent>
    <userTask id="usertask1" name="Budget" activiti:candidateGroups="GROUP_Budget" activiti:formKey="scwf:activitiBudgetReview">
      <extensionElements>
        <activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
              <activiti:field name="script">
                <activiti:string><![CDATA[
                    task.setVariable('scwf_historique', scwf_history);                    
                ]]></activiti:string>
              </activiti:field>
        </activiti:taskListener>
        <activiti:taskListener event="complete" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
          <activiti:field name="script">
            <activiti:string>
                <![CDATA[
                    if(task.getVariableLocal('scwf_approveRejectOutcome') == 'Approve') {
                        var newApprovedCount = scwf_approveCount + 1;
                        execution.setVariable('scwf_approveCount', newApprovedCount);
                    }
                ]]>
            </activiti:string>
          </activiti:field>
        </activiti:taskListener>
      </extensionElements>
    </userTask>

lorsque j'utilise cette définition de workflow, je rencontre un problème lorsque j'essaie de démarrer le workflow.
Le problème viendrait de la ligne en rouge.

Pour faire simple, dans le modèle scwf:submitReviewTask qui est utilisé pour mon startEvent, j'ai un aspect qui possède une propriété numAgent.

Je souhaiterais récupérer cette propriété dans une variable et l'afficher dans toutes les autres tâches.

De même, je souhaiterai pouvoir en faire autant pour les commentaires ajoutés par les utilisateurs.
Je concaténerai ces informations dans une variable scwf_history que j'afficherai dans toutes les tâches.

D'avance, merci pour votre aide

Outcomes