0
有一個審查和批准工作流程 在開始表格上是附加文件和選定的執行者(Package Items
和People selection
)。 然後創建一個任務分配給以前選擇的執行者。每個執行者都會看到分配給它的任務和文件附件。Alfresco用於添加文件
我需要檢查添加文件。雖然執行者尚未添加文件,但無法批准該任務。 我在任務創建時創建了計數器taskListener event="create"
。 他計算髮送給執行者的文件。 然後我在完成任務taskListener event="complete"
時創建了另一個計數器,它還計算文件。 然後我比較這兩個計數器,如果他們是相等的 這意味着執行者不附加文件,他看到錯誤。 但是這種方法只適用於批准任務的第一個執行者。 其他執行者可以在不添加文件的情況下批准任務。
我不知道是什麼問題。
這裏就是我實現它的代碼:
<userTask id="userTask5" name="Revies" activiti:assignee="${zvernennya_reviewnachassignee.properties.userName}" activiti:formKey="zvernennya:reviewnach">
<documentation>Review task</documentation>
<extensionElements>
<activiti:taskListener event="create" class="org.alfresco.repo.workflow.activiti.tasklistener.ScriptTaskListener">
<activiti:field name="script">
<activiti:string><![CDATA[
if (typeof bpm_workflowDueDate != 'undefined') task.dueDate = bpm_workflowDueDate;
if (typeof bpm_workflowPriority != 'undefined') task.priority = bpm_workflowPriority;;
var count=0;
for (var i = 0; i < bpm_package.children.length; i++)
{
count++;
}
execution.setVariable ('count', count);
]]></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('zvernennya_reviewnachtransitions') == 'Approve') {
execution.setVariable('zvernennya_reviewnachapprovalcount', zvernennya_reviewnachapprovalcount + 1);
}
var count_new=0;
for (var i = 0; i < bpm_package.children.length; i++)
{
count_new++;
}
if (count==count_new) {
var message = "\n\nAttach files!!\n";
throw new Error(message + "\n");
}
]]></activiti:string>
</activiti:field>
</activiti:taskListener>
</extensionElements>
<multiInstanceLoopCharacteristics isSequential="false" activiti:collection="zvernennya_executers" activiti:elementVariable="zvernennya_reviewnachassignee">
<completionCondition>${zvernennya_reviewnachapprovalcount >= zvernennya_reviewnachrequiredapprovalcount}</completionCondition>
</multiInstanceLoopCharacteristics>
</userTask>
同樣的問題 –