4

Tridion 2011 SP1、イベントシステムで、ワークフロー内にあることがわかっているオブジェクトのWorkItemを取得しようとしていますが、それが誰のWorkListにあるのかわかりません。

シナリオの説明:

  • 特定のコンポーネントがワークフローにある間、ページはロックされたままである必要があります
  • コンポーネントワークフローの状態が変化すると、ページの状態も変化するはずです

私がやろうと思ったのは、FinishActivityEventArgsでトリガーされたイベントでした。

  1. 現在のアイテムがコンポーネントかどうかを確認します
  2. 対応するページを取得します(ページタイプのGetUsingItems)
  3. ページもワークフローに含まれているかどうかを確認します
  4. 問題のページを取得する
  5. ページのWorkItemを取得します
  6. 現在のアクティビティを終了し、対応するアクティビティの詳細を渡します

私はほとんどのステップの準備ができていますが、ステップ5に疑問があります。これまでに確認したWorkItemsを取得する唯一のメソッドは、session.WorkflowManager.GetUserWorkItems(userWorkItemsFilter)を使用することですが、ページが現在のユーザーの作業にない場合、これはおそらく失敗します。アイテムでしょ?

ヒント/方向性はありますか?

4

1 に答える 1

4

session.WorkflowManager.GetListProcesses現在のユーザーのプロセスだけでなく、すべてのプロセスを見つけるためにこのメソッドを使用する必要があると思います。ただし、すべてのアイテムを取り戻すには、管理者になりすます必要があると思います。

于 2012-03-23T16:35:04.697 に答える