【问题标题】:How to perform Looping Through List Items in SharePoint 2013 Designer Workflows?如何在 SharePoint 2013 设计器工作流中执行循环列表项?
【发布时间】:2014-11-06 18:01:57
【问题描述】:

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

【问题讨论】:

  • 到目前为止,您根据搜索引擎查询尝试了什么?一旦我们更具体地满足您的需求,就会更容易为您提供帮助。 stackoverflow.com/help/how-to-ask

标签: sharepoint sharepoint-designer sharepoint-workflow


【解决方案1】:

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

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

  2. 定义另一个列表,将其命名为例如list_control,

    • 定义一个名为例如的列listID,
    • 定义一个名为例如的列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)
    • 如果未找到条目,请停止此工作流程。
  4. 定义需要在list_work 上运行的工作流,例如命名为workflow_list_work,使其在每次更新list_work 中的条目时触发,并且在此工作流程中,确保它使用来自list_work 的条目的ID 更新list_control 中正在修改的唯一条目,仅触发workflow_list_control。在此步骤中,尝试放置一个工作流步骤来等待并验证 ID 是否正确更新,以便为之前的 workflow_list_control 正确完成留出足够的时间。

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

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

【讨论】:

    【解决方案2】:

    您可以使用新的“HTTP Web 服务”在 SharePoint 2013(仅限!)中执行此操作。 “诀窍”是

    1. 创建一个将调用 HTTP Web 服务并调用“.../client.svc/web/lists/getbyid(<List Guid>)/items”的任务
    2. 将 (JSON) 结果返回到一个(2013 年也是新的!)“字典”变量
    3. 使用“从字典中获取项目”操作
      • “item by name or path”并输入“d/results”
      • 选择“字典”变量(您在其中捕获结果)
      • 输出到另一个字典变量(称之为“数据”)
    4. 然后通过使用“Count Items in data”操作获取计数(用于循环)并将其输出到变量 (totalItems) 以获取记录数

    对于“循环”,您将使用“带条件的循环”;使用名为“index”的变量并将其设置为 0。“带条件循环”直到“index

    在循环体中:

    1. “从字典中获取项目”使用“按名称或路径获取项目”
    2. 使用字符串生成器“d/results/(<index>)/”。 “要检索的列名”将是您要评估的任何列(例如“DueDate”)。

      注意:您必须使用列的“静态名称” ,可以通过转到任务列表设置并单击列的名称来找到它,然后在 URL 中找到“Field=<Name>”部分。您将使用的是“<Name>”。

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

    【讨论】:

    • 我还没有尝试过,但我希望您的解决方案对 Sharepoint Online 仍然有用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-30
    • 2014-03-22
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多