+ Start a Discussion
gsarguccigsargucci 

Going crazy with workflow rule

Hi,

 

I'm trying to get a seemingly simple workflow rule to fire, but, for the life of me, cannot.  Here's the setup:

- Object A (Project) has a text formula field, 'Application_Project__c', defined as follows:

IF ( CONTAINS($RecordType.DeveloperName, 'Application'),
"Yes",
"No"
)

 

- Object B has a Lookup to Object A (Project__r) and is trying to do a field update using the following, formula-based WF criteria:

Every time a record is created or edited

IF (CONTAINS (eo3__Project__r.eo3__Application_Project__c, "Y"), true, false)

 

I see that an instance of Object A correctly evaluates its formula field to "Yes".  I then save an instance of Object B and see the following in the System Log:

 

9:10:48.579|WF_CRITERIA_BEGIN|[Object-name a0NA0000002mbzz]|Mark Retrofit as Application|01QA0000000DBAA|ON_ALL_CHANGES
9:10:48.589|WF_FORMULA|Formula:IF (CONTAINS (eo3__Project__r.eo3__Application_Project__c, "Y"), true, false)|Values:eo3__Project__r.eo3__Application_Project__c=Yes
9:10:48.589|WF_CRITERIA_END|false

 

So, even though the field that I'm trying to base the comparison on is set to 'Yes', the WF evaluates to 'false'.  I've tried this with and without CONTAINS, with single quotes, double quotes, etc--but I can't seem to get the silly thing to evaluate to 'true' and for the WF to fire.  I don't know if it's something silly or if I'm missing something fundamental here.

 

Any ideas or insights will be greatly appreciated.  Thanks!

SporterSporter

If you use "when criteria are met" instead of the formula evaluates to true it will work as intended however at the moment I do not know off the top of my head if it's expected behaviour for the formula not to work correctly when using the "formula evaluates to true" option.

gsarguccigsargucci

Hi,

 

Unfortunately, I cannot change this to use 'when criteria are met', because the criteria comes from a field on a related object, which isn't available for choosing as one of criteria items.  Hence, the need to do this as a formula.

 

Does anyone have any insights?  It seems like I'm trying to do something very simple here, so I'm hoping that someone can see something I'm overlooking.

 

Thank you in advance.