我是SharePoint新手。我在SharePoint 2013中创建了一个工作流,我想在其中使用循环迭代List。 如何在SharePoint 2013 Designer工作流中执行循环列表项?
答案 0 :(得分:1)
我不知道有任何开箱即用的方法可以让工作流程循环播放"列表中的所有条目,但您可以尝试使两个工作流相互反复,直到所有条目都更新,这是详细步骤,
假设我们正在处理的列表名为list_work
,请在此列表中创建一个名为eg的列。 cargo
定义另一个列表,例如命名它list_control
,
listID
,cargo
,cargo
设置为一个值。 定义工作流程,例如将其命名为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>
定义需要在list_work
上运行的工作流程,例如命名为workflow_list_work
,每次更新list_work
中的条目时都会触发它,并且在此工作流程中,确保它更新list_control
中ID唯一的条目正在修改的list_work
条目,仅触发workflow_list_control
。在此步骤中,尝试将工作流步骤等待并验证ID是否已正确更新,以便为之前的workflow_list_control
正确完成留出足够的时间。
每次如果需要循环播放,请在list_control
字段中使用不同的值修改cargo
中的条目。
答案 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;。 :)