Reputation: 11
I am new to SharePoint. I'm creating a workflow in SharePoint 2013 in which I want to iterate a List using a loop. How to perform looping through list items in SharePoint 2013 Designer Workflows?
Upvotes: 1
Views: 14365
Reputation: 1103
You can do this in SharePoint 2013 (ONLY!) using the new "HTTP web service". The "trick" is to
<List Guid>
)/items"For the "loop" you will use the "Loop with condition"; use a variable called "index" and set it to 0. "Loop with condition" until "index < totalItems"
In the body of the loop:
<index>
)/".
The "Column Name to Retrieve" will be whatever column(s) you want to evaluate (like maybe "DueDate").<Name>
" portion.. It is that "<Name>
" that you will use.I know this is very CRUDE maybe even bordering on "useless" for alot of users, but I felt I should at least attempt a quick reply. When I have more time, I will try to edit this and format my reply better. Although, I found this because of a similar need and since I figured out a way to accomplish what I was needing, I felt compelled to at least share it the best I could, in the limited time I had available. ;) So, maybe SOMEONE will find what I have attempted to describe, "useful". :)
Upvotes: 1
Reputation: 79
I'm not aware that there's any out-of-box way to get a workflow to "loop through" all entries in a list, but you can try to make two workflows bouncing back to each other until all entries are updated, here is the detailed steps,
assuming that the list that we are working on is named list_work
, in this list, create a column named e.g. cargo
define another list, name it e.g. list_control
,
listID
,cargo
, cargo
to a value. define a workflow, name it e.g. workflow_list_control
, which is triggered every time the entry in list_control
is updated, and in this workflow,
list_work
where the list_work.cargo
doesn't equal list_control.cargo
list_work
and set the list_work.cargo
with list_control.cargo
, in order to trigger the workflow_list_work
(see #4 below)define the workflow that needs to be run on the list_work
, e.g. named workflow_list_work
, make it's triggered every time the entry in list_work
is updated, and in this workflow, make sure it updates the only entry in the list_control
with the ID of the entry from list_work
that is being modified, only to trigger the workflow_list_control
. In this step, try to put a workflow step to wait and verify the ID is properly updated, in order to allow enough time for the previous workflow_list_control
properly finishes.
Every time if a looping-through is necessary, modify the entry in list_control
with a different value in the cargo
field.
Also refer to calculated-column-to-retrieve-total-number-of-id
Upvotes: 1