在moss 2007 Service Pack 2中
我设计了一个sharepoint设计器循环工作流程,它处理列表中的每个项目,并使用列表中的标志列跟踪最后处理的项目。
最初列表中的所有项目都有标志列值=否
循环工作流首先查找列表中第一个带有flag = no
的项目在继续执行此项后,它将其标志变为是。然后它只处理下一个项目。
到达列表中的最后一项,然后将其标记为是。
循环工作流然后以找不到的错误列表项结束,因为在下一次迭代中它没有找到任何没有标记的项。
我的问题是 - 我怎么知道最后一项已被处理。这样我就可以启动一个工作流程,将所有标志重置为no,以使orignal工作流程再次可用。
答案 0 :(得分:0)
创建条件如果[当前项目中的字段]等于[值]并且仅在满足此条件时执行操作,否则它将退出工作流程。
答案 1 :(得分:0)
至少可以说,在SharePoint工作流程中进行任何类型的循环都是痛苦的。如果流程一次被触发多次,那么您的方法几乎肯定会导致并发问题。
对于这些复杂的要求,您可能需要查看第三方软件。我在使用此产品时有偏见,但您可能需要考虑Workflow Power Pack,它允许将C#或VB代码直接嵌入到SharePoint Designer工作流程中,而无需复杂的Visual Studio开发周期。
如果您不想进入第三方大道,请查看以下文章。