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:

  1. On each source object, create a WithholdFromRevRec__c checkbox that users can manually select to mark a source record as being on hold.
  2. 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.
  3. In the 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.
Note:

Revenue schedules are not generated automatically if a formula checkbox changes on a source record. The next time revenue schedules are generated, their status will update to reflect the latest information on the source record.