IBM BPM тот же flowObjectId / guid

Что может быть причиной для получения того же руководства от tw.system.step.guid. Всякий раз, когда я инициирую шаг / задачу, я получаю одно и то же руководство?

2 ответа

Итак, вопрос: у меня есть цикл на диаграмме [...] я хочу определить "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 где pid Идентификатор экземпляра процесса, который вы используете (полученный из tw.system.currentProcessInstance.id). В инструменте REST API Tester эту операцию можно найти в разделе "API-интерфейсы REST Business Process Manager / API-интерфейс процесса / текущее состояние".

Возвращаемые данные - это дерево, которое вам нужно пройти. Начиная с data.executionTree.root вы ходите по всем детям и их детям и т.д. в поисках tokenId атрибут, который сохраняет значение tw.system.step.id, Соответствующий узел будет иметь createdTaskIDs массив, который является нулевым, если нет связанных задач, или он будет содержать идентификаторы задач.

Например, под data.executionTree.root.children[0].children[1].tokenId есть номер шага, который меня интересует, и, следовательно, data.executionTree.root.children[0].children[1].createdTaskIDs[0] имеет идентификатор задачи, который я могу использовать для получения полной задачи.

Из одного и того же вызова REST вы также можете получить детали задачи. использование parts=executionTree,header Параметр запроса и результат будут содержать список задач, а также data.tasks массив, с tkiid имеющий идентификатор задачи.

GUID для данного шага на диаграмме процесса будет одинаковым для каждой задачи, выполняющей этот шаг. Поэтому, если вы смотрите на GUID для разных задач, которые все находятся в одном и том же окне на диаграмме, они все должны быть одинаковыми. Если вы видите один и тот же GUID для разных задач на одной диаграмме или на двух диаграммах, значит, что-то не так.

Возможно, было бы лучше объяснить, что вы хотите сделать, и тогда мы могли бы рассказать вам, как этого добиться. Прямо сейчас кажется, что система делает правильные вещи (опять же, если вы видите один и тот же GUID в задачах одного и того же действия).

Другие вопросы по тегам