As we transition to the new Hyland Community, some post links may be temporarily disrupted as we finalize redirects. We apologize for the inconvenience and are working to resolve this as quickly as possible. Details.
<?xml version="1.0" encoding="UTF-8"?> <process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:parallelreview"> <swimlane name="initiator" /> <start-state name="start"> <task name="wf:submitParallelReviewTask" swimlane="initiator" /> <transition name="" to="startreview"/> </start-state> <node name="startreview"> <action class="org.alfresco.repo.workflow.jbpm.ForEachFork"> <foreach>#{bpm_assignees}</foreach> <var>reviewer</var> </action> <transition name="" to="review"> <action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript"> <runas>admin</runas> <script> var mail = actions.create("mail"); mail.parameters.to = reviewer.properties.email; mail.parameters.subject = "Новая задача в системе Alfresco:" + bpm_workflowDescription; mail.parameters.from = initiator.properties.email; mail.parameters.text = "У вас новая задача от:" + initiator.properties.firstName + " " + initiator.properties.lastName + "! Войдите в систему по адресу http://172.172.174.100/alfresco/"; mail.execute(bpm_package); </script> </action> </transition> </node> <task-node name="review"> <task name="wf:reviewTask"> <assignment class="org.alfresco.repo.workflow.jbpm.AlfrescoAssignment"> <actor>#{reviewer}</actor> </assignment> <event type="task-create"> <script> if (bpm_workflowDueDate != void) taskInstance.dueDate = bpm_workflowDueDate; if (bpm_workflowPriority != void) taskInstance.priority = bpm_workflowPriority; </script> </event> </task> <transition name="reject" to="endreview" /> <transition name="approve" to="endreview"> <script> <variable name="wf_approveCount" access="read,write" /> <expression> wf_approveCount = wf_approveCount +1; </expression> </script> </transition> </task-node> <join name="endreview"> <transition to="isapproved" /> </join> <decision name="isapproved"> <event type="node-enter"> <script> <variable name="wf_reviewerCount" access="write"/> <variable name="wf_requiredPercent" access="write"/> <variable name="wf_actualPercent" access="write"/> <expression> wf_requiredPercent = wf_requiredApprovePercent; wf_reviewerCount = bpm_assignees.size(); wf_actualPercent = ((wf_approveCount * 100) / wf_reviewerCount); </expression> </script> </event> <transition name="reject" to="rejected" /> <transition name="approve" to="approved"> <condition>#{wf_actualPercent >= wf_requiredApprovePercent}</condition> </transition> </decision> <task-node name="rejected"> <task name="wf:rejectedParallelTask" swimlane="initiator" /> <transition to="end" /> </task-node> <task-node name="approved"> <task name="wf:approvedParallelTask" swimlane="initiator" /> <transition to="end" /> </task-node> <end-state name="end"/> </process-definition>
var gr_members = people.getMembers(group); for (var i=0; i < gr_members.length; i++ ) { var mail = actions.create("mail"); mail.parameters.to = gr_members[i].properties.email; mail.parameters.subject = subject; mail.parameters.from = "alfresco"; mail.parameters.text = "Document is waiting for your response on Alfresco"; mail.execute(bpm_package); logger.log("Email was sent to " + gr_members[i].properties.userName + "."); }