2009-07-08 6 views
1

私は、ワークフロー内から複数のリスト項目を作成し、その項目のいずれかからワークフロー履歴を表示できるようにする必要があるのです。複数のSPListItemは1つのワークフロー履歴をどのように共有できますか?

問題のコンテキスト:定期的な会議では、議題項目が追加されます。いくつかの項目は「開いた」ステータスと「閉じた」ステータスを持っています。オープンしている人は、議論を続けることができます。ユーザーがワークフロー内からアイテムを続行することを選択した場合、私は新しいアイテムを作成します。 ( "問題A.1を話し合う": "問題について話し合うA"(親項目のフィールド値:nullの)

  • 2日目を

    結果は、我々は

    • 1日目のような項目の配列を有し、 「問題A.2について話し合う」(親項目のフィールド値:ID
    • 3日目)問題A議論の親項目のフィールド値問題のA.1を話し合うIDの)

    事は私がしたいですワークフロー履歴でこのようなことを追跡してどのアイテムからでも見ることができます。したがって、ワークフローでは、他のすべてのアイテムと同じ状態にする必要があります。

    これらすべてのアイテムに同じワークフローを割り当てる方法に関するアイデアはありますか?

  • 答えて

    0

    私の知っている限り、複数のアイテムに対して1つのワークフローを実行することはできません。各ワークフローは常にが1つの項目のコンテキストで実行されます。

    私が持っていたアイデアの1つは、すべての議題項目の履歴を管理するために別のリスト(以下、「アジェンダ履歴」と呼ぶ)を使用することでした。アジェンダ項目が作成されるたびに、親がなければ新しいIDを作成します。新しいアジェンダ項目に親がある場合は、親のIDを使用します。このIDは、すべてのアジェンダ項目の履歴を検索するために使用されます。

    次に、すべてのアジェンダ項目について、特定のスレッドの履歴を表示するページにリンクするだけで済みます。このページには、クエリ文字列フィルタWebパーツを使用してアジェンダIDをフィルタリングするリストビューWebパーツを含めることができます。例えば

    : AgendaID::1、タイトル:議題

    1. ユーザーが議題 "問題A"
    2. を作成するワークフローは、議題 "問題A" はAgendaHistoryリストには親とログを持っていない決定しますアイテム "問題A"が作成されました!ページ数/ MyHistoryPage.aspx?AgendaID = 1人の
    3. ユーザーへのリンクを
    4. ワークフローアップデート議題「問題Aは、」議題「問題A.1」を作成
    5. ワークフローは、議題の「問題A.1」を決定AgendaHistoryリストに親とログがあります。 AgendaID:1、Title:議題項目「問題A.1」が作成されました!
    6. ワークフローページ/ MyHistoryPage.aspx?AgendaID = 1
    7. ユーザーは、ワークフローが議題「関連のない問題は」何を持って判断しない議題「無関係な問題」
    8. を作成へのリンクを議題「問題A.1」を更新親とログをAgendaHistoryリストに追加します: AgendaID:2、Title:アジェンダアイテム "Unrelated Problem"が作成されました!
    9. ワークフローは、ページ数/ MyHistoryPage.aspx?AgendaID = 2
    10. へのリンクを議題 "関連のない問題" を更新....
    +0

    このソリューションは非常によく動作します。アイデアをありがとう。 –

    関連する問題