...
Code Block |
---|
IF(NOT(ISBLANK({!$Record.Manager__c})),{!$Record.Manager__c},{!$Record.Account__r.Manager__c}) |
Do Not Change if Active
Before-Create (if a record can be created as Active)
Before-Update
Formula fClient
Assign to Client Field
Code Block |
---|
IF(ISPICKVAL({!$Record.Status__c},"Draft"),{!Record.Account__r.Client__c},{!$Record.Client__c}) |
Only Change if Updated
Before-Update
Eg I have a picklist that is a Preset… depending on that Preset it sets a number of other values. However the user can set the Preset, THEN override the other values manually.
create variable varAutomaticOption
set default value on varAutomaticOption to {!$Record.AutomaticOption__c}
Create a Decision Element
Outcome Name SettingA
{!$Record.Preset__c} = “Setting A”
AND
{!$Record__Prior.Preset__c} Not Equal To {!$Record.Preset__c}
Create an Assignment after the Outcome for SettingA
Assign {!varAutomaticOption} to “Automatic” (the default for that preset).
In the final Assignment
Assign {!$Record.AutomaticOption__c} field {!varAutomaticOption}
That way the varAutomaticOption will be the current value unless the preset is changed, then it will be set to the new value and the AutomaticOption will be saved.
Note my Presets set 8 fields in this way, so I’m not sure I would do it this way if it was just one field.