ForEachFork recuperation de donnees [solved]

cancel
Showing results for 
Search instead for 
Did you mean: 
deedlith
Member II

ForEachFork recuperation de donnees [solved]

Bonjour a tous,

je me suis entrainée sur plusieurs petits workflow et maintenant j'aimerais déployer un cas concret mais ca coince sur le ForEachFork, il s'agit pour une liste de personne de donner son avis sur une postulation … :

    <node name="forkProf">
        <action class="org.alfresco.repo.workflow.jbpm.ForEachFork">
            <foreach>#{bpm_assignees}</foreach>
            <var>reviewer</var>
        </action>
        <transition to="profsEval"></transition>
    </node>

    <task-node name="profsEval">
        <task name="asm:evaluationPostulation">
            <timer name="delai" duedate="12 hours" transition="reject"></timer>
            <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment">
                <actor>#{reviewer}</actor>
            </assignment>
        </task>
        <transition name="reject" to="endFork">
            <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
                <script>
                    var doc = companyhome.childByNamePath("Sites/studentPostulation/documentLibrary/Application/"+bpm_workflowDescription+"/infoFromProf.txt");

                    if(logger.isDebugEnabled())
                        logger.debug("try to reject the candidat");

                    if(doc != null){
                        var workingCopy = doc.checkout();
                        workingCopy.content += "Professeur : " + taskInstance.actorId + "\t\n";
                        workingCopy.content += "Note d'evaluation : " + asm_evaluation + "\t\n";
                        workingCopy.content += "Periode eventuelle : " + asm_periode + "\t\n";
                        workingCopy.content += "Commentaire : " + taskInstance.comments.get(0).message + "\t\n\n";

                        workingCopy.checkin();
                    }
                </script>
            </action>
        </transition>
        <transition name="approve" to="endFork">
            <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
                <script>
                    var doc = companyhome.childByNamePath("Sites/studentPostulation/documentLibrary/Application/"+bpm_workflowDescription+"/infoFromProf.txt");

                    if(doc != null){
                        var workingCopy = doc.checkout();
                        workingCopy.content += "Professeur : " + taskInstance.actorId + "\t\n";
                        workingCopy.content += "Commentaire : " + taskInstance.comments.get(0).message + "\t\n\n";

                        workingCopy.checkin();
                    }
                </script>
            </action></transition>
    </task-node>

    <join name="endFork">
        <transition to="deanDecision2"/>
    </join>

j'essaie de récupérer les valeurs des champs pour les écrire dans un fichier … je n'ai pas trouve de meilleur façon de faire
ces champs sont defini dans le taskModel de mon workflow

      <type name="asm:evaluationPostulation">
         <title>Evaluation de la candidature</title>
         <parent>bpm:workflowTask</parent>

         <properties>
            <property name="asm:evaluation">
               <type>d:int</type>
            </property>
            <property name="asm:periode">
               <type>d:text</type>
            </property>
         </properties>

         <overrides>
            <property name="bpm:packageItemActionGroup">
               <default>read_package_item_actions</default>
            </property>

            <property name="bpm:reassignable">
               <default>false</default>
            </property>
         </overrides>
      </type>

Tout idee me ferait du bien, je tourne en rond depuis plusieurs jours et ne trouve pas grand chose sur le ForEachFork et la recuperation de donnees. Je precise que j'ai fait comme ca dans d'autres workflow sans fork et que j'arrive a recuperer les donnees.

Merci d'avance pour votre aide.
1 Reply
deedlith
Member II

Re: ForEachFork recuperation de donnees [solved]

Hello,

Je ne comprends pas bien la difference entre les variables du worflow et de la tache instanciee.

Je pensais pouvoir acceder aux variables de la tache par ce genre de code :

taskInstance.getVariable("bpm:comment")

mais ca n'a pas l'effet attendu sauf pour
taskInstance.actorId

si quelqu'un connait une adresse parlant des contexts, de taskInstance … j'ai trouve quelque pistes dans http://docs.jboss.org/jbpm/v3/userguide/index.html mais pas la solution

Merci.