「待機中」または「完了」のいずれかの値を含む「ステータス」というタイトルのフィールドと、「期日」列を含むドキュメント ライブラリがあります。
リスト アイテムのステータスが「完了」に設定されているか、「期日」に達したときに電子メールを送信する SP2010 ワークフローを設計しています。
このロジックに対処するために、次のような方法で ConditionedActivity グループを使用しています。
CAG: Until isComplete=true || isExpired=true
Sequence1 - run once
While isComplete=false
OnWorkFlowItemChanged: set isComplete
Sequence2 - run while isComplete=false
IfElseActivity
if "Due date" has been reached
isExpired=true
else
Delay for x amount of time
DelayActivity が遅延を選択する時間に関して独自の考えを持っているように見えることは気にしないでください。しかし、OnWorkFlowItemChanged アクティビティが実行されるまでには長い時間がかかります (最悪の場合、瞬時から > 10 分まで)。リストを更新しました。
これの原因は何ですか?最初は、Delay アクティビティが最初のシーケンスをブロックしているだけだと思っていましたが、ログを見ると、Delay アクティビティが 2 番目のシーケンスをスリープしている間に OnWorkFlowItemChanged イベントが発生することがわかります。
これはこれを行う方法ですか?どうにかしてこの問題を解決できますか、またはこれを達成する方法について他の選択肢がありますか?