Inheriting On Hold from Parent Source Record
If you have multiple levels in your object hierarchy, when you mark a parent source record as being on hold you might also want to mark its child records as being on hold. You can do this via custom formula fields as illustrated by the following example.
This example assumes that:
- Your object hierarchy is Level 1 - Project, Level 2 - Milestone, Level 3 - Assignment, Level 4 - Timecard.
- The Account object in your org has a custom picklist called CreditRisk with the values Low, Medium, and High.
To configure your source objects so that a child record is marked as being on hold if its parent record is marked as being on hold:
- On each source object, create a WithholdFromRevRec__c checkbox that users can manually select to mark a source record as being on hold.
- On each source object, create an OnHold__c formula checkbox to automatically mark a source record as being on hold. Use the example formula in the table below, replacing
ffrr__
with your org's namespace. - In the recognition settings record for each source object, map the source object's OnHold__c formula checkbox to the On Hold field mapping.
Level |
Source Object |
Example Formula |
Explanation |
---|---|---|---|
1 | Project | OR (ffrr__WithholdFromRevRec__c, ISPICKVAL(ffrr__Account__r.CreditRisk,'High'))
|
A project's OnHold__c checkbox is set to true if a user manually selects the project's WithholdFromRevRec__c checkbox OR the related account's CreditRisk picklist value is set to "High". |
2 | Milestone | OR (ffrr__WithholdFromRevRec__c, ffrr__Project__r.ffrr__OnHold__c)
|
A milestone's OnHold__c checkbox is set to true if a user manually selects the milestone's WithholdFromRevRec__c checkbox OR the parent project's OnHold__c checkbox is true. |
3 | Assignment | OR (ffrr__WithholdFromRevRec__c, ffrr__Milestone__r.ffrr__OnHold__c)
|
An assignment's OnHold__c checkbox is set to true if a user manually selects the assignment's WithholdFromRevRec__c checkbox OR the parent milestone's OnHold__c checkbox is true. |
4 | Timecard | OR (ffrr__WithholdFromRevRec__c, ffrr__Assignment__r.ffrr__OnHold__c)
|
A timecard's OnHold__c checkbox is set to true if a user manually selects the timecard's WithholdFromRevRec__c checkbox OR the parent assignment's OnHold__c checkbox is true. |