0

In SharePoint Designer 2010, in Workflows, is it possible to give more then one condition when querying items? Let me explain, it is fairly easy to drop Update item in this list step, and say, for example, Update item with ID X. However, if is it possible to do something along this lines with OOB steps, Update an item in this list where Title is Equal to "abc" and Modify date no older then 3 days.

Update: Workflow is started when the item is added to the list. What I would like is to update some fields on this item depending on information in this item and in external list. For example

  • Current Item Field 1 has value "abc"
  • Current Item Field 2 has value "123"
  • Current Item Field 3 has value "456"
  • External List has Item with value in Field 1 "123"
  • External List has Item with value in Field 2 "abc"
  • External List has Item with value in Field 3 "xyz"
  • Update Current Item Field 3 with value "xyz"

In short I would need following query - Update Current_Item_Field_3 with value from External_List_Field_3 where Field 1 is equal to Current_Item_Field_2 and Field 2 is equal to Current_Item_Field_1

2
  • For what reason are you trying to update a list item based on the values of the current field? Trying to see if a workflow is the best solution for you.
    – Mike
    Commented Dec 15, 2014 at 18:16
  • While my personal "weapon of choice" would be event receivers in this scenario, it's not up to me to make this decision. In short it's the way business logic works. In my case, Field 1 is a country, Field 2 is a business unit, Field 3 is an offical currency used. User providers first two values, while WF should lookup to another list which holds all combinations of countries vs BU and offical currency for each combination.
    – StupidOne
    Commented Dec 15, 2014 at 22:02

2 Answers 2

1

This would be tricky with modified date, you would need 2 workflows.

Here is an example of something I did recently using 2 fields.

There was 1 list where you selected a 'Certification' and a second list which had a number of 'Vouchers' for that certification. I wanted to select a voucher for the specific certification type and make sure it was active.

So what I did was:

On the 'Voucher' list I have:

-Certification Type (Tableau, Cloudera, Etc) -Status (Active or Inactive) -CertificationStatus - A calculated field which concatenated the two fields above.

Then when the first list runs and queries the item. I concatenate in the selection in SPD and have it look for [Certification Type]+"Active" then I mark it inactive in the workflow so the next run pulls a new voucher off the top.

It's not 100% the same but it's an idea of how to query based on 2 fields, use a calculated field. If you need to use a date field, you might need to use a workflow on list2 to calculate the date first.

1
  • I forgot to write an answer to my own question - in short, this is the exact way how I solved the problem.
    – StupidOne
    Commented Dec 18, 2014 at 7:42
0

You need to add the if statements in a sequential order, and if the IF statement is TRUE, you manipulate a variable.

Set variable to FALSE
IF Title is equal to ABC
  Set variable to "TR"
IF Date is less than Today
  Set variable to "variable + UE" (use Fx)
IF Variable is equal to "TRUE"
  Update List Item
Else
  Log to history list "Item was not updated!"
3
  • I'm fairly new to SP WFs, but I believe this won't work. The first "IF" will return only one item (the first one he finds) which might not be the correct item (second "IF" evaluates to False), yet there might be an item which would pass both "IF" conditions.
    – StupidOne
    Commented Dec 15, 2014 at 13:54
  • Is your workflow running on one item? Usually you have a workflow running on a list will be an instance on each item. Is this a list workflow or site workflow, or a reusable workflow?
    – Mike
    Commented Dec 15, 2014 at 13:57
  • I've updated my question, it might help.
    – StupidOne
    Commented Dec 15, 2014 at 17:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.