2017-07-29 10 views

Répondre

0

Le GUID d'une étape donnée sur un diagramme de processus sera le même pour chaque tâche exécutant cette étape. Donc, si vous regardez le GUID pour différentes tâches qui sont toutes dans la même case sur le diagramme, elles devraient toutes être identiques. Si vous voyez le même GUID pour différentes tâches sur le même diagramme ou sur deux diagrammes, alors quelque chose ne va pas.

Il serait peut-être préférable d'expliquer ce que vous cherchez à faire et nous pourrions éventuellement vous dire comment y parvenir. À l'heure actuelle, il semble que le système fasse la bonne chose (agin, en supposant que vous voyez le même GUID à travers les tâches sur la même activité).

0

La question est donc: j'ai une boucle dans le diagramme [...] Je veux déterminer le « BPM taskId » de la tw.system.step.id

Je suppose ici que vous êtes se référant à multi-instance-boucle (MIL) au lieu de flux en boucle sur le diagramme de processus. En effet, l'utilisation de l'espace de noms tw.system.step est utilisée dans la plupart des cas dans le contexte de tw.system.step.counter utilisé pour distribuer des données à l'instance d'un nombre spécifique basé sur ce compteur.

L'API JavaScript côté serveur ne fournit pas d'utilitaire pour ce faire lorsque l'API REST le fait. L'approche REST peut être réalisable à moins que vous ne souhaitiez coller à l'API JS uniquement. Sinon, vous devrez peut-être revoir votre approche. Sans objectif réel que vous voulez atteindre, je ne peux suggérer aucune autre approche.

Comment faire avec REST? Vous devez effectuer un appel pour obtenir l'opération process instance details sous /rest/bpm/wle/v1/process/{pid}?parts=executionTreepid est l'ID d'instance de processus que vous exécutez (obtenu à partir de tw.system.currentProcessInstance.id). Dans l'outil REST API Tester, vous pouvez trouver cette opération sous "API REST Business Process Manager/API de processus/état actuel".

Les données renvoyées sont des arbres que vous devez traverser. À partir de data.executionTree.root vous marchez au-dessus de tous les enfants et ses enfants etc. recherchant l'attribut tokenId qui garde la valeur de tw.system.step.id. Le noeud correspondant aura createdTaskIDs tableau qui est soit null si aucune tâche n'est associée ou conservera les ID de tâche.

Par exemple sous data.executionTree.root.children[0].children[1].tokenId il y a nombre de pas que je suis intéressé, et donc data.executionTree.root.children[0].children[1].createdTaskIDs[0] a ID de tâche que je peux utiliser pour récupérer la tâche complète. À partir du même appel REST, vous pouvez également obtenir les détails de la tâche. Utilisez parts=executionTree,header query param et le résultat contiendra la liste des tâches sous le tableau data.tasks, avec tkiid ayant l'ID de tâche.