2017-07-29 10 views
0

tw.system.step.guidから同じguidを取得する理由は何でしょうか。 ステップ/タスクを開始するたびに、私は同じGUIDを取得していますか?IBM BPM同じflowObjectId/guid

答えて

0

プロセスダイアグラム上の特定のステップのGUIDは、そのステップを実行するタスクごとに同じになります。したがって、ダイアグラム上の同じボックスにあるさまざまなタスクのGUIDを調べる場合は、すべて同じである必要があります。同じ図で、または2つの図に渡って異なるタスクの同じGUIDが表示されている場合は、何か問題があります。

あなたが探していることを説明する方が良いかもしれませんし、それを達成する方法を教えてくれるかもしれません。今は、システムが正しいことをしているようです(agin、あなたが同じアクティビティで同じGUIDを同じGUIDに見ていると仮定)。

0

そこで質問がされています[...]私はtw.system.step.id

から「BPMのtaskId」を決定したい私は図中のループを持って、私はあなたがここに仮定プロセスダイアグラムのループフローの代わりにマルチインスタンスループ(MIL)を参照してください。これは、tw.system.step名前空間の使用は、ほとんどの場合、そのカウンタに基づいて特定の番号のインスタンスにデータを配信するために使用されるtw.system.step.counterのコンテキストで使用されるためです。

JavaScriptサーバー側APIは、REST APIの実行中にこれを行うユーティリティを提供していません。あなたがJS APIだけに固執するのでなければ、RESTアプローチが実現可能かもしれません。それ以外の場合は、アプローチを再設計する必要があります。あなたが達成したい本当の目標がなければ、私は他のアプローチを示唆することはできません。

RESTでどうすればいいですか?あなたはprocess instance detailsの操作を/rest/bpm/wle/v1/process/{pid}?parts=executionTree の下で実行する必要があります。pidは実行中のプロセスインスタンスIDです(tw.system.currentProcessInstance.idから取得)。 REST API Testerツールでは、この操作は「ビジネスプロセスマネージャREST API /プロセスAPI /現在の状態」にあります。

返されるデータは、トラバーする必要があるツリーです。 data.executionTree.rootから始めて、tw.system.step.idの値を維持するtokenId属性を探しているすべての子供とその子供たちを歩きます。一致するノードには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 query paramを使用すると、data.tasks配列の下にタスクのリストが保持され、タスクIDを持つtkiidになります。

関連する問題