我有一个文档库,其中包含一个名为“状态”的字段,其中包含值“等待”或“完成”,以及一个“截止日期”列。
我正在设计一个 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 分钟)运行我已经对列表进行了更新。
这可能是什么原因?最初我会认为延迟活动只会阻止第一个序列,但我在日志中看到 OnWorkFlowItemChanged 事件将在延迟活动休眠第二个序列时引发。
这甚至是这样做的方法吗?我可以以某种方式解决这个问题,还是有其他替代方法可以实现这一目标?