04-02-2012 01:14 AM
<?xml version="1.0" encoding="UTF-8"?>
<process-definition xmlns="urn:jbpm.org:jpdl-3.1" name="wf:Multiadhoc">
<swimlane name="initiator" />
<start-state name="start">
<task name="wf:submitParallelReviewTask" swimlane="initiator">
</task>
<transition name="" to="startreview">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_workflowDescription" access="read,write" />
<variable name="bpm_package" access="read" />
<expression>
bpm_workflowDescription = bpm_package.children[0].properties["tc:sender_type"] + " " + bpm_package.children[0].properties["tc:company"] + " - " + bpm_package.children[0].properties["tc:topic"] + " " + bpm_workflowDescription;
</expression>
</script>
</action>
</transition>
<event type="node-leave">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
var now = new Date();
var hour = now.getHours();
var min = now.getMinutes();
var day = now.getDate();
var month = now.getMonth();
var year = now.getFullYear();
var name=year.toString() + "-" + month.toString() + "-" + day.toString() + "-" + hour.toString() + "-" + min.toString() + "-";
var i=0;
var k=bpm_package.children.length;
for (i=0; i < k; i++)
{
bpm_package.children[i].properties["cm:name"] = name + bpm_package.children[i].properties["cm:name"];
bpm_package.children[i].save();
bpm_package.children[i].move(companyhome.childByNamePath("Подшивка"));
}
</script>
</action>
</event>
</start-state>
<node name="startreview">
<action class="org.alfresco.repo.workflow.jbpm.ForEachFork">
<foreach>#{bpm_assignees}</foreach>
<var>reviewer</var>
</action>
<transition name="review" to="review"/>
</node>
<task-node name="review">
<task name="wf:submitParallelReviewTask">
<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="Выполнено" to="endreview" />
<transition name="Передать" to="endreview">
<action class="org.alfresco.repo.workflow.jbpm.AlfrescoJavaScript">
<script>
<variable name="bpm_package" access="read"/>
<variable name="bpm_assignees" access="read"/>
<variable name="bpm_workflowDueDate" access="read"/>
<variable name="bpm_workflowPriority" access="read"/>
<variable name="bpm_workflowDescription" access="read"/>
<expression>
var workflowDefinition = workflow.getDefinitionByName("jbpm$wf:adhoc");
var workflowPackage = workflow.createPackage();
for (var j=0; j < bpm_package.children.length; j++)
{
workflowPackage.addNode(bpm_package.children[j]);
}
var workflowParameters = new Array();
workflowParameters["bpm:workflowDueDate"] = bpm_workflowDueDate;
workflowParameters["bpm:workflowDescription"]=bpm_workflowDescription;
workflowParameters["bpm:workflowPriority"]=bpm_workflowPriority;
for(var j = 0; j < bpm_assignees.size(); j++)
{
workflowParameters["bpm:assignee"] = bpm_assignees.get(j);
var workflowPath = workflowDefinition.startWorkflow(workflowPackage, workflowParameters);
var tasks = workflowPath.getTasks();
for (task in tasks)
{
tasks[task].endTask(null);
}
}
</expression>
</script>
</action>
</transition>
</task-node>
<join name="endreview">
<transition to="end" />
</join>
<end-state name="end"/>
</process-definition>
04-02-2012 05:11 AM
04-02-2012 05:25 AM
<config evaluator="task-type" condition="wf:submitParallelReviewTask">
<forms>
<form>
<field-visibility>
<show id="bpm:priority" />
<show id="bpm:dueDate" />
<show id="bpm:assignees" />
<show id="packageItems" />
<show id="transitions" />
</field-visibility>
</form>
</forms>
</config>
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.