Extend native Business Rules to control tabs, sections, multi-selects, subgrids, and timelines without writing per-entity JavaScript.
One global framework that lets Business Rules control the form UI everywhere.
Hide or show any tab or section across main forms.
Hide, show, lock, or require multi-select choices.
Hide or show subgrids and timelines.
One managed solution runs on every main form.
Follow the setup steps, craft the command string, and keep rules predictable with best practices.
Import BusinessRuleExtensions_v1_Managed.zip and publish all customizations before you start.
Add a single line text column whose logical name ends in brextension (ex: new_brextension).
Recommended length: 100-200 chars. Add a description to capture its purpose for later.Place the field on the main form and hide it.
The framework will not run unless the field exists on the form body.Use Set Field Value to write the command stringHIDE:FLD:new_multiselectoptions into the brextension field.
Add explicit ELSE logic to undo actions.Build command strings that let standard Business Rules hide or show tabs, sections, subgrids, and timelines, plus lock or require multi-select fields.
Choose an action, select the target type, then type the logical name or control name.
HIDE:FLD:your_name_hereKeep rules explicit and predictable so multiple admins can maintain them.
Create separate brextension fields for visibility, locking, and required logic so each rule edits only its own scope.
Always set the opposite action in the ELSE branch; clearing the field does nothing by itself.
If two fields fight for control, the last update wins (often alphabetical on load).
Quick Create forms need a manual library hookup because the global ribbon does not load reliably.
The framework uses a global injection pattern to listen for commands on every main form.
An invisible global command bar button initializes the script on every entity, even read-only records.
The script searches for text fields ending in brextension and monitors them.
Every second, it checks for changes and executes new commands immediately.
If no trigger field exists on the form, it exits instantly.
If commands do not fire, verify the fundamentals before debugging.