SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Visual Studio Workfow: DelayActivity bzw. TimeoutDuration vorzeitig beenden/abbrechen

Geprüfte Antwort Dieser Beitrag hat 2 Antworten

Ohne Rang
3 Beiträge
SharePointler1234 erstellt 18 März 2014 14:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

in meinem Visual Studio Workflow benutze ich eine DelayActivity, die beim erreichen des DueDates des aktuellen Tasks eine bestimmte Delay-Zeit setzt (TimeoutDuration z.b. 10 Minuten) und eine Reminder-Email verschickt. Das Ganze habe ich in eine Conditioned Activity Group gepackt (Until Condition: code condition die überprüft ob der Task completed wurde).

Es funktioniert alles wunderbar - so wie es sein soll. Ist das Due Date des Tasks erreicht, wird die Reminder Email verschickt, und die Delay Activity aufgerufen sowie die TimeoutDuration korrekt gesetzt (z.B. 10 Minuten). Nach Ablauf der 10 Minuten läuft der Workflow wie gewünscht weiter.

Was ich nun erreichen möchte ist, dass eine manuelle Änderung des Task-Status (z.B. auf Approved oder Rejected) diese DelayActivity "abbricht", so dass der Workflow wie gewünscht zu Ende läuft.
Auch das funktioniert wunderbar, wenn die DelayActivity noch nicht aufgerufen wurde.
Wie gesagt - sobald die DelayActivity aufgerufen wird, muss ich 10 Minuten warten bis irgendeine Aktion (z.B. Änderung des Task Status) greift.

Ich vermute, dass ich hier _irgendwie_ die OnTaskChanged-Activity einbinden muss ?
Diese verwende ich bereits.

Habt ihr eine Idee, wie ich diese Delay Activty "auf Kommando" bzw. durch Update des Task-Status vorzeitig (!) beenden kann ?

Vielen Dank und Gruß!

 

Alle Antworten

Ohne Rang
3 Beiträge
SharePointler1234 Als Antwort am 18 März 2014 14:44
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nachtrag:

ich vermute mein Problem liegt eher an der "ConditionedActivityGroup" (CAG) in der sich meine Delay Activity befindet.

Folgender Test war nämlich bei mir erfolgreich:
Befinde ich mich in einer Delay Activity außerhalb der CAG, dann reagiert der Workflow auf das Ändern des Taks Status. Auch wenn die Zeit (TimeoutDuration) noch nicht abgelaufen ist.

Bin dankbar für jede Hilfe ;o)

Ohne Rang
3 Beiträge
SharePointler1234 Als Antwort am 19 März 2014 07:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Lösung:

das OnTaskChanged Activity ebenfalls in die ConditionedActivityGroup aufnehmen. Hilfreicher Link dazu:

http://msftplayground.com/2011/11/using-the-conditionedactivitygroup-in-workflow-foundation-3-5/