SharePoint Designer 复杂工作流






4.67/5 (7投票s)
SharePoint Designer 复杂工作流。展示了如何在 SharePoint designer 中重复步骤
问题
SharePoint 可以在不使用代码的情况下实现复杂工作流。SharePoint 提供了四个工作流,其中之一是审批。在我的问题中,我们有四个审批级别,每个级别都有重新分配或批准的权限。
开箱即用的工作流挑战
开箱即用的工作流的挑战在于
- 重新分配选项的工作方式很奇怪,即在重新分配后批准会将工作流移动到下一步,而不是移动到它来自的上一步。
- 如果重新分配给请求者,则请求者有权批准而不是重新提交。
- 审批者有权将任务重新分配给任何人,但在我们的问题中,我们希望将其限制为特定审批者的组。
SharePoint Designer 工作流挑战
SharePoint designer 工作流的问题在于它不允许重复步骤,这对于我们重新分配的需求来说非常重要。
解决方案
开箱即用的工作流对我们来说根本不是一个选择,因为它不适合需求。使用 SharePoint designer,如上所述,存在挑战,但它似乎更有希望和效率,因为它不需要任何编码,并且在这方面具有相当大的灵活性。
为了避免在 SharePoint designer 中重复步骤的挑战,以下是技巧
步骤 1
打开 SharePoint designer,然后单击新建 -> 工作流
第二步
确保在创建或更改项目时自动启动工作流。 这是一个技巧。 每当项目发生更改时,工作流就会启动,这意味着为了重复步骤,我需要在对象中设置一些值来完成这项工作。 如果您仍然感到困惑,请在下面查看更多详细信息
步骤 3
在下图中,您将看到“CurrentStateField
”的 if 条件,此字段存在于目标对象中。 为了再次启动工作流,我们将在需要的地方设置该值。 如果您看到,还有另一个变量 currentstate(不要将此变量与字段混淆)。 此变量用于管理工作流的状态,并且以下操作将仅基于此变量。
步骤 4
在此步骤中,我们等待从主管(例如,本例中的 bob)收集数据。 一旦我们获得数据,我们就会将其设置为另一个名为 user response 的变量中。
步骤 5
根据用户响应,我们设置 current state 变量值
步骤 6
这有点棘手,需要仔细研究才能理解。 一旦主管在最后一步重新分配,它就需要来自请求者的输入。 如果您在第一个操作中看到,它正在等待从请求者那里收集数据,如果最后的状态是主管已重新分配。 现在,如果请求者重新提交(错误地写成从请求者重新分配),然后在获得用户响应后,我们将 current state 设置为等待主管批准,这是一个重复状态。 现在,为了回到第 2 步(提交给主管),我们需要更改对象的值,以便可以再次启动工作流。 第一个操作中的最后一条 set 语句完成了这项工作,即将值分配给对象中的 current 字段实际上启动了工作流。
这对于使用 SharePoint designer 编写复杂工作流非常重要。
我希望以上信息对您编写复杂业务工作流有所帮助。如果您需要示例工作流/此工作流或更多信息,请通过 varun_jain786@yahoo.com 与我联系。
历史
- 2009 年 4 月 28 日:初始发布