2009-07-08 2 views
1

Ich bin auf eine Notwendigkeit gestoßen, wo ich mehrere Listenelemente innerhalb eines Workflows erstellen und den Workflowverlauf von jedem dieser Elemente anzeigen möchte.Wie können sich mehrere SPListItems 1 Workflowverlauf teilen?

Problemkontext: In einer wiederkehrenden Besprechung werden Tagesordnungspunkte hinzugefügt. Einige Elemente haben den Status "offen" und einige "geschlossen". Diejenigen, die offen sind, haben die Fähigkeit (und werden es wahrscheinlich auch) weiterhin auf der Agenda zu stehen und weitere Treffen abzuhalten. Wenn der Benutzer das Element fortsetzt, erstelle ich aus einem Workflow ein neues Element.

Das Ergebnis ist, haben wir ein Element Sequenz wie

  • Tag 1: "Problem Eines Diskutieren" (Parent Element Feldwert: null)
  • Tag 2: "Problem A.1 Diskutieren" (Übergeordnetes Element Feldwert: ID Diskutieren Problem A)
  • Tag 3: "Diskutieren Problem A.2" (Parent Artikel Feldwert: ID Problem A.1 Diskutieren)

Die Sache ist, ich mag in der Lage sein, diese Dinge im Workflow-Verlauf zu verfolgen und in der Lage sein um es von jedem Gegenstand aus zu sehen. In einem Workflow sollten sie also im gleichen Zustand sein wie alle anderen Elemente.

Haben Sie Ideen, wie Sie den gleichen Workflow für alle diese Elemente zuweisen?

Antwort

0

Nach meinem besten Wissen können Sie keinen Workflow für mehrere Elemente ausführen. Jeder Workflow immer wird im Kontext eines Elements ausgeführt.

Eine Idee, die ich hätte, wäre, eine andere Liste (im Folgenden als AgendaHistory bezeichnet) zu verwenden, um den Verlauf für alle Tagesordnungspunkte zu verwalten. Jedes Mal, wenn ein Tagesordnungspunkt erstellt wird, erstellen Sie eine neue ID, wenn keine übergeordneten Elemente vorhanden sind. Wenn der neue Tagesordnungspunkt einen Elternteil hat, verwenden Sie die Eltern-ID. Die ID würde verwendet, um den Verlauf für alle Tagesordnungspunkte zu suchen.

Dann müssen Sie für alle Tagesordnungspunkte nur zu einer Seite verknüpfen, die den Verlauf für einen bestimmten Thread anzeigen würde. Diese Seite könnte ein Listenansicht-Webpart enthalten, das die Agenda-ID mithilfe eines Abfrage-String-Filter-Webparts filtert.

Zum Beispiel:

  1. Benutzer erstellt Tagesordnungspunkt "Problem A"
  2. Workflow bestimmt Tagesordnungspunkt "Problem A" hat keine Eltern und Protokolle AgendaHistory Liste: AgendaID: 1, Titel: Die Tagesordnung Item "Problem A" wurde erstellt!
  3. Workflow-Updates Tagesordnungspunkt "Problem A" mit einem Link auf Seiten/MyHistoryPage.aspx? AgendaID = 1
  4. Benutzer erstellt Tagesordnungspunkt "Problem A.1"
  5. Workflow bestimmt Tagesordnungspunkt "Problem A.1" hat einen Elternteil und loggt zur AgendaHistory-Liste: AgendaID: 1, Titel: Der Tagesordnungspunkt "Problem A.1" wurde erstellt!
  6. Workflow-Updates Tagesordnungspunkt "Problem A.1" mit einem Link auf Seiten/MyHistoryPage.aspx? AgendaID = 1
  7. Benutzer erstellt Tagesordnungspunkt "Unrelated Problem"
  8. Workflow bestimmt Tagesordnungspunkt "Unrelated Problem" nicht hat Parent und Protokolle zur AgendaHistory-Liste: AgendaID: 2, Titel: Der Tagesordnungspunkt "Unrelated Problem" wurde erstellt!
  9. Workflow-Updates Tagesordnungspunkt "Unrelated Problem" mit einem Link auf Seiten/MyHistoryPage.aspx? AgendaID = 2
  10. ....
+0

Diese Lösung funktioniert sehr gut. Danke für die Idee. –

Verwandte Themen