function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Jeff LJeff L 

Checkbox Formula Field versus Workflow Field Updates

Hi,
With the recent enhancement to allow a formula field to resolve to a checkbox, we thought it might make sense to eliminate some workflows that do the same thing via Field Updates for checkbox fields in our current configuration and replace them with Formula fields whose output is a checkbox true/false value.

Anyone have some general advice on Formula versus Workflow Rules and when it makes sense to use one over the other?  One concern I have about switching from WFR to Formulas for this scenario is how the Formula field approach will affect report performance if the formula checkbox field is used as a filter criteria.

Thanks for any input you may have!
OyeCodeOyeCode
Order of execution play a big role in the advice your are asking for which can affect your performance or results 

Executes all before triggers.
Runs most system validation steps again, such as verifying that all required fields have a non-null value, and runs any user-defined validation rules. The only system validation that Salesforce doesn't run a second time (when the request comes from a standard UI edit page) is the enforcement of layout-specific rules.
Saves the record to the database, but doesn't commit yet.
Executes all after triggers.
Executes assignment rules.
Executes auto-response rules.
Executes workflow rules.
If there are workflow field updates, updates the record again.
If the record was updated with workflow field updates, fires before and after triggers one more time (and only one more time), in addition to standard validations. Custom validation rules are not run again. Note
The before and after triggers fire one more time only if something needs to be updated. If the fields have already been set to a value, the triggers are not fired again.
Executes escalation rules.
If the record contains a roll-up summary field or is part of a cross-object workflow, performs calculations and updates the roll-up summary field in the parent record. Parent record goes through save procedure.
If the parent record is updated, and a grand-parent record contains a roll-up summary field or is part of a cross-object workflow, performs calculations and updates the roll-up summary field in the parent record. Grand-parent record goes through save procedure.
OyeCodeOyeCode
The whole order of execution is covered first and once after DML operation is finished. I believe data gets commited and henceforth when you run report (which you do after commit) this shouldn't signficantely affect. But lets say you a manipulating results in trigger and updating field thorugh workflow at same time, before data commit than order of execution should be taken into serious consideration to avoid discrepency