2017-07-29 89 views

回答

0

流程圖上給定步驟的GUID對執行該步驟的每個任務都是相同的。因此,如果您正在查看全部位於圖表上相同框的不同任務的GUID,則它們應該都是相同的。如果您在同一圖表上或跨2個圖表看到不同任務的GUID,則說明有問題。

解釋你想要做什麼可能會更好,然後我們可能會告訴你如何完成。現在看起來系統正在做正確的事情(假設你在同一活動的任務中看到相同的GUID)。

0

所以,問題是:我有一個循環圖中[...]我想確定的「BPM的taskid」從tw.system.step.id

我假設你在這裏參考多實例循環(MIL),而不是流程圖上的循環流。這是因爲在大多數情況下,使用tw.system.step名稱空間在其tw.system.step.counter的上下文中用於根據該計數器將數據分發到特定數字的實例。

JavaScript服務器端API不提供REST API執行此操作的實用程序。 REST方法可能是可行的,除非你只想使用JS API。否則,您可能需要重新設計您的方法。沒有真正的目標,你想實現我不能建議任何其他方法。

如何用REST做到這一點?您需要撥打一個電話才能在/rest/bpm/wle/v1/process/{pid}?parts=executionTree 之下獲得process instance details操作,其中pid是您正在運行的流程實例ID(從tw.system.currentProcessInstance.id獲得)。在REST API測試工具中,您可以在「業務流程管理器REST API /過程API /當前狀態」下找到此操作。

返回的數據是您需要遍歷的樹。從data.executionTree.root開始,您可以遍歷所有兒童及其子女等,以查找保留價值tw.system.step.idtokenId屬性。匹配節點將有createdTaskIDs陣列,如果沒有關聯任務或者它將保留任務ID,則該陣列爲null。

例如下 data.executionTree.root.children[0].children[1].tokenId 有步數我很感興趣,因此data.executionTree.root.children[0].children[1].createdTaskIDs[0] 有我可以用它來獲取完整的任務的任務ID。

從同一個REST調用中,您還可以獲取任務詳細信息。使用parts=executionTree,header查詢參數,結果將保存任務列表以及data.tasks數組,其中tkiid具有任務ID。