Problème de condition sur transition [Non Résolu]
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-17-2008 05:40 AM
Bonjour,
J'ai actuellement un problème pour conditionner mes transitions. Mon but est de tester une variable issue d'une classe java. Cette variable me retourne soit true soit false. Cette variable doit me conditionner l'accès à une tâche précise.
Voici le noeud du workflow correspondant.
La valeur testée est pdf et elle est retournée par l'appel de la classe suivante.
2 transitions doivent être aiguillées en fonction du contenu de la variable pdf
A terme ces 2 conditions seront également complété par la condition suivante :
Merci pour votre aide.
J'ai actuellement un problème pour conditionner mes transitions. Mon but est de tester une variable issue d'une classe java. Cette variable me retourne soit true soit false. Cette variable doit me conditionner l'accès à une tâche précise.
Voici le noeud du workflow correspondant.
<!–**************************–> <!–** <Decision> **–> <!–** isapproved **–> <!–**************************–> <decision name="isapproved"> <event type="node-enter"> <action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo"> <type>Decision</type> <name>isapproved</name> <disable>false</disable> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="lwf_requiredApprobatorPercent" access="write"/> <expression>lwf_requiredApprobatorPercent = lwf_requiredApprovalPercent;</expression> </script> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="lwf_approbatorCount" access="write"/> <expression>lwf_approbatorCount = lwf_approvalAssignees.size();</expression> </script> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="lwf_actualApprobatorPercent" access="Write"/> <expression>lwf_actualApprobatorPercent = ((lwf_approvalCount * 100) / lwf_approbatorCount);</expression> </script> </action> <action class="lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert"> <var>pdf</var> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> logger.log("lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert return: " + pdf); </script> </action> </event> <transition name="reject" to="rejected"/> <!– transition name="approve" to="approvedApproval"–> <transition name="approve" to="qualityrequired"> <condition>#{pdf == 'false'}</condition> <!– condition>#{lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent}</condition–> </transition> <transition name="published" to="published"> <condition>#{pdf == 'true'}</condition> </transition> </decision>
La valeur testée est pdf et elle est retournée par l'appel de la classe suivante.
<action class="lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert"> <var>pdf</var></action
2 transitions doivent être aiguillées en fonction du contenu de la variable pdf
<transition name="approve" to="qualityrequired"> <condition>#{pdf == 'false'}</condition> <!– condition>#{lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent}</condition–> </transition> <transition name="published" to="published"> <condition>#{pdf == 'true'}</condition> <!– condition>#{lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent}</condition–> </transition>
A terme ces 2 conditions seront également complété par la condition suivante :
<condition>#{lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent}</condition>
Merci pour votre aide.
Labels:
- Labels:
-
Archive
2 REPLIES 2
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-17-2008 06:52 AM
Arggggggggg, ca ne va pas du tout moi en ce moment, je pense que je vais avoir besoin d'un patch vacances
En faite je n'utilisais pas la bonne tâche de décision, c'est pour cela que mes conditions n'étaient pas respectées.
Pour ceux que cela interesserait, voici le code sorce qui fonctionne.
Je pense que la seconde tâche de décision est inutile et peut être simplifié en l'incorporant dans la première.

En faite je n'utilisais pas la bonne tâche de décision, c'est pour cela que mes conditions n'étaient pas respectées.
Pour ceux que cela interesserait, voici le code sorce qui fonctionne.
<!–**************************–> <!–** <Decision> **–> <!–** isapproved **–> <!–**************************–> <decision name="isapproved"> <event type="node-enter"> <action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo"> <type>Decision</type> <name>isapproved</name> <disable>false</disable> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="lwf_requiredApprobatorPercent" access="write"/> <expression>lwf_requiredApprobatorPercent = lwf_requiredApprovalPercent;</expression> </script> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="lwf_approbatorCount" access="write"/> <expression>lwf_approbatorCount = lwf_approvalAssignees.size();</expression> </script> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="lwf_actualApprobatorPercent" access="Write"/> <expression>lwf_actualApprobatorPercent = ((lwf_approvalCount * 100) / lwf_approbatorCount);</expression> </script> </action> <!– action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> for (var i = 0; i < bpm_package.children.length; i++) { logger.log("Enter Node Is Approved : " + bpm_package.children[i].properties["lpr:DocumentStatus"]); } </script> </action–> </event> <transition name="reject" to="rejected"/> <!– transition name="approve" to="approvedApproval"–> <transition name="approve" to="qualityrequired"> <condition>#{lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent}</condition> </transition> </decision> <!–**************************–> <!–** <Decision> **–> <!–** qualityrequired **–> <!–**************************–> <decision name="qualityrequired"> <event type="node-enter"> <action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo"> <type>Decision</type> <name>qualityrequired</name> <disable>false</disable> </action> <action class="lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert"> <var>pdf</var> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> logger.log("lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert return: " + pdf); </script> </action> </event> <transition name="quality" to="startquality"/> <!– transition name="approve" to="approvedApproval"–> <transition name="published" to="published"> <condition>#{pdf == "true"}</condition> </transition> </decision>
Je pense que la seconde tâche de décision est inutile et peut être simplifié en l'incorporant dans la première.
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-17-2008 07:32 AM
J'ai rassemblé mes 2 tâches décisions en une seule
Maintenant il se trouve que cela ne marche plus.
Il semblerait que j'ai un problème au sujet de mes expression de condition.
Si quelqu'un a une idée.
<!–**************************–> <!–** <Decision> **–> <!–** isapproved **–> <!–**************************–> <decision name="isapproved"> <event type="node-enter"> <action class="lpr.alfresco.repo.workflow.jbpm.WriteInfo"> <type>Decision</type> <name>isapproved</name> <disable>false</disable> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="lwf_requiredApprobatorPercent" access="write"/> <expression>lwf_requiredApprobatorPercent = lwf_requiredApprovalPercent;</expression> </script> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="lwf_approbatorCount" access="write"/> <expression>lwf_approbatorCount = lwf_approvalAssignees.size();</expression> </script> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> <variable name="lwf_actualApprobatorPercent" access="Write"/> <expression>lwf_actualApprobatorPercent = ((lwf_approvalCount * 100) / lwf_approbatorCount);</expression> </script> </action> <action class="lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert"> <var>pdf</var> </action> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> logger.log("lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert return: " + pdf); </script> </action> </event> <transition name="reject" to="rejected"/> <transition name="quality" to="startquality"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> logger.log("lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert (quality) return: " + pdf); </script> </action> <condition>expression=#{(pdf == "false") and (lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent)}</condition> </transition> <transition name="published" to="published"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <script> logger.log("lpr.alfresco.repo.workflow.jbpm.CheckPDFConvert (published) return: " + pdf); </script> </action> <condition>expression=#{(pdf == "true") and (lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent)}</condition> </transition> </decision>
Maintenant il se trouve que cela ne marche plus.
Il semblerait que j'ai un problème au sujet de mes expression de condition.
<condition>expression=#{(pdf == "true") and (lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent)}</condition>
<condition>expression=#{(pdf == "false") and (lwf_actualApprobatorPercent >= lwf_requiredApprobatorPercent)}</condition>
Si quelqu'un a une idée.
