When Extended Formulas Are Evaluated
Extended formulas can be extremely useful. However, to use them properly it is important to understand when the value of an extended formula is computed.
The value of an extended formula is computed when a change is made to a record. When a change is made to a record, if it contains any fields with a value that is determined by an extended formula, the value of each extended formula is recomputed and used to update the value of its field. When a user is editing a record using a form, the record is not modified until the user clicks an action that causes the changes to be stored in the record.
The timing is important. When a user changes any values in a record, only formulas of fields in that same record are recomputed immediately. If the value of a field is determined by a formula that refers to a field in another record, changes to the field in the other record only cause formulas in the other record to be recomputed. The value of the field with a formula that refers to the changed field in another record is updated through a queue, so it may not be reflected immediately.
When fields referenced by query filters change, the extended formula system checks potentially affected formulas and recalculates as needed. This recalculation only occurs for changes to fields in the query’s primary business object and, for multi-hop queries, only for changes to filters on the query directly referenced by the field formula. The system will not detect and recalculate for fields in an associated business object or in a string of rs.