Formulas which reference multi-select picklists do not work correctly when referenced from Process Builder on a related object.
Last updated 2022-02-10 ·Reference W-3456078 ·Reported By 2 users
Formulas on a parent object which reference multi-select picklist fields may return incorrect results when referenced from Process Builder on a child object.
Symptoms of this behavior include (but may not be limited to):
- The INCLUDES function in a parent object Formula Field always returns false when that Formula Field is referenced from Process Builder on a child object.
1. Create a Multi-Select Picklist ('theMultiPicklist__c') on Account with values 'a', 'b', and 'c'
2. Create a formula field ('theFormula__c') on Accounts, with return type checkbox, and syntax: INCLUDES (theMultiPicklist__c,'a')
3. Create a Process as follows:
- Object: Contact, when a record is created or edited
- Criteria: [Contact].Account.theFormula__c equals boolean true
- Action: Any
- Activate the process
4. Create (or edit) an Account and set 'theMultiPicklist__c' with values that include 'a'.
- Confirm 'theFormula' is returning true on Account detail page.
5. Create (or edit) a Contact on that Account, and save.
Actual Result: Process criteria evaluates false, even though 'theFormula' is actually true on the Account.
Avoid referencing formulas on a parent object which refer to multi-picklists from Processes on a child object.
Possible alternatives are:
A) Create a formula field on the child object. Refer to the formula field on the parent object from this new formula field. Then set the Process to use this new formula field.
--- For instance in the example repro above we could create a formula on Contact with syntax like Account.theFormula__c, then refer to this Contact field instead of the Account field in the process criteria.
B) Build the process criteria with the necessary logic to run directly off the multi-picklist on the parent (without referencing the formula field on the parent).
--- For instance in the example repro scenario above, the same logic and net result would be achievable by changing the Process Criteria to " [Contact].Account.theMultiPicklist__c Contains Mulitpicklist a"
Is it Fixed?
Any unreleased services, features, statuses, or dates referenced in this or other public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make their purchase decisions based upon features that are currently available.