如何在SharePoint 2013 Designer工作流中执行循环列表项?

时间:2014-09-12 14:11:31

标签: sharepoint sharepoint-designer sharepoint-workflow

我是SharePoint新手。我在SharePoint 2013中创建了一个工作流,我想在其中使用循环迭代List。 如何在SharePoint 2013 Designer工作流中执行循环列表项?

2 个答案:

答案 0 :(得分:1)

我不知道有任何开箱即用的方法可以让工作流程循环播放"列表中的所有条目,但您可以尝试使两个工作流相互反复,直到所有条目都更新,这是详细步骤,

  1. 假设我们正在处理的列表名为list_work,请在此列表中创建一个名为eg的列。 cargo

  2. 定义另一个列表,例如命名它list_control

    • 定义一个名为eg的列listID
    • 定义一个名为eg的列cargo
    • 在列表中创建一个条目,将cargo设置为一个值。
  3. 定义工作流程,例如将其命名为workflow_list_control,每当list_control中的条目更新时触发,并在此工作流程中

    • list_work中搜索list_work.cargo不等于list_control.cargo
    • 的条目
    • 如果找到任何条目,请更新list_work的条目并将list_work.cargo设置为list_control.cargo,以便触发workflow_list_work(请参阅下面的#4)< / LI>
    • 如果未找到任何条目,请停止此工作流程。
  4. 定义需要在list_work上运行的工作流程,例如命名为workflow_list_work,每次更新list_work中的条目时都会触发它,并且在此工作流程中,确保它更新list_control中ID唯一的条目正在修改的list_work条目,仅触发workflow_list_control。在此步骤中,尝试将工作流步骤等待并验证ID是否已正确更新,以便为之前的workflow_list_control正确完成留出足够的时间。

  5. 每次如果需要循环播放,请在list_control字段中使用不同的值修改cargo中的条目。

    另请参阅calculated-column-to-retrieve-total-number-of-id

答案 1 :(得分:1)

您可以使用新的&#34; HTTP Web服务&#34;在SharePoint 2013(仅限!)中执行此操作。 &#34;技巧&#34;是创建一个将调用HTTP Web服务并调用&#34; ... / client.svc / web / lists / getbyid(<List Guid>)/ items&#34;的任务。将(JSON)结果返回(2013年新增!)&#34;字典&#34;变量。然后使用&#34;从字典中获取项目&#34;行动和&#34;项目的名称或路径&#34;并输入&#34; d / results&#34 ;,选择&#34;字典&#34;变量(您捕获了结果)并输出到另一个字典变量(称之为&#34;数据&#34;)。然后通过使用动作&#34;计算数据中的项目&#34;来获取计数(用于循环)。并将其输出到变量(totalItems)以获取记录数。对于&#34;循环&#34;你将使用&#34; Loop with condition&#34;。使用名为&#34; index&#34;的变量并将其设置为0,然后&#34;循环使用条件&#34;直到&#34;指数&lt; TOTALITEMS&#34 ;.在循环体中,你要做的第一件事是&#34;从字典中获取一个项目&#34;使用&#34;项目的名称或路径&#34;并使用字符串生成器&#34; d / results /(<index>)/&#34;。 &#34;要检索的列名称&#34;将是您想要评估的任何列(例如,可能&#34; DueDate&#34;)。 (注意:您必须使用列的&#34;静态名称和#34;可以通过转到任务列表设置并单击列名称找到,然后在URL中找到&#34 ;字段= <Name>&#34;部分..这是&#34; <Name>&#34;您将使用。)

我知道这是非常粗暴的,甚至可能接近&#34;无用的&#34;对于很多用户,但我觉得我至少应该尝试快速回复。当我有更多时间时,我会尝试编辑这个并更好地格式化我的回复。虽然,我发现这是因为类似的需求,并且因为我想出了一种方法来完成我需要的东西,所以我觉得必须至少尽我所能地分享它,在我有空的时间内。 ;)所以,也许有人会找到我试图描述的东西,&#34;有用&#34;。 :)