GREAT question Courtney! I have this problem also!
I brought up this issue a long time ago on User Voice. I think being able to use ( ) to surround statements would be helpful. Vote up the issue here: More Advanced Conditions in RunIf Action – Customer Feedback for Nintex
Thanks, Mike! I gave it 3 votes on User Voice.
Hi Courtney Vargo,
how C was evaluated in your scenario?
if it was true, than it's right that the first condition was evaluated to true, because Nintex consider the order so first condition is equal to (A and or C while second evaluates as (B or C) and A
so, looking at a table with possible results (A is false and B is true like in your description), we have
| (A and or C | (B or C) and A |
---|
A false, B true, C true | True | False |
A false, B true, C false | False | False |
Giacomo
C was false. B and C are evaluating the same field, just checking for different values. So it is something like this:
IF fieldA == value1 AND fieldB == value2 OR fieldB == value3, thus, B and C can not both be true at an evaluation.
Also, for your table with (A and or C with parameters A false, B true, C true, I don't believe you're correct that it should evaluate to True. Because your first check of (A and should be false because A is false, B is thus irrelevant because for that check to be true, A and B both must be true.
(A and is false, as you say, but subsequent evaluation state False OR True (C is True for that row) and it returns True because of C, if it was (A and and C, then all of them should be True in order to evaluate true all the condition.
Ahh, I was thinking as in our case when C is also false. However, agreeing with the poster above, parentheses would make this easier, because when I created the Run If I was thinking of it as A and (B or C) not (A and or C, which changes the logic.
Hi Courtney Vargo, if you consider the question as solved, could you mark one answer as correct?
Giacomo