2017-07-29 87 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。