How Visionary Rules: Basic version overcomes Business Rules shortfalls

Limitations of Microsoft’s Business Rules that Visionary Rules Solves:

While Business Rules are easy to build, there are some gotchas that Visionary Rules solves.

(1) Can’t combine AND and OR in a condition set.

With Business Rules, all conditions are linked as “AND” conditions.  ALL of them must be true for the Action to be performed. 

With Visionary Rules, you can combine conditions with OR, AND, and parenthesis to implement the precise set of conditions required.  (Microsoft says there way around the problem is to have multiple business rules, but the order in which rules fire can cause other problems.)

(2) Can’t control WHEN a rule runs.

Business Rules run onLoad of a form, and onChange of a field.   This can cause user interface problems.  For example, a simple rule that sets a limit on a field value will display an error as soon as the form loads, before the poor user even has a chance to input data:

<screenshot didn’t come over in mail> 

With Visionary Rules, you can run a rule onLoad, onChange of a field value, or onSave.  In addition to the data validation you can add with onSave events, you can control an event to JUST run onChange, and NOT onLoad.  In that case, the simple rule that checks for data will not fire onload, only when that field changes.  So the form appears blank, and only after they input data into the ‘Salary’ field will the “Set Field Notification” rule run, and that message will then appear, appropriately.

(3) Can’t link rules together

When you set a field value by using a business rule, any OnChange event handlers for that field will not run. 

Let’s assume by analyzing a few fields, you can determine that the ‘Account Type’ should be ‘National Account’.  So you write a rule:

IF EstimatedRevenue is > 1,000,000 Then Set Account Type to “National Account”.

Well, if you also had rules to “Show Fields” when account type = National Account, those Business Rules would not fire, and those fields would not show!

In short, if you set a field value in code, the system should react the same way as if a user modified that field value.  That does not happen with Microsoft’s Business Rules.  But with Visionary Rules, you can set the “Fire On Change” switch, which will then fire all of the Rules that are linked to that field. 


Basic Action Type:  The Visionary Rules component that affects a CRM form

Usage: What the action type does

Example: An example of the types of rules you can create for this action type

Business Rules Equivalent:  The Business Rule that implements (some of) the functionality available within Visionary Rules.

Basic Action Type Usage Example Business Rules equivalent
Hide Field Make a field invisible If Account Type = ‘Prospect’ Then Hide Field: Customer Number Set Visibility (No)
Show Field Make a field visible If Account Type = ‘Customer’ Then Show Field: Customer Number Set Visibility (Yes)
Disable Field Lock a field; Make a field read-only If Account Type = ‘Customer’ Then Disable Field: Customer Start Date Lock/Unlock (Lock)
Enable Field Make a read-only field modifiable If Account Type = ‘Customer’ Then Enable Field: Customer Number Lock/Unlock (UnLock)
Required Fields Make a field required; business recommended, or not required. If Account Type = ‘Customer’ Then Set Field Required: Customer Number Set Business Required
Set Field to Other Field Value Set a field value to the same value stored in another field. If “Home Address Same AS Business” is TRUE Then Set HomeAddressComposite to BusinessAddressComposite. Set Field Value
Set Field Value Set a field value to a specific value. If Account Type just changed to Customer, Set “Customer Start Date” to Now. Set Field Value
Set to Null Blank out a field value If “Home Address Same AS Business” is set to FALSE Then Set HomeAddressComposite to Null (blanks) Set Field Value
Confirm Ask the user to select 1 of 2 possible path; modify the system depending on their selection. Display Confirm Dialog: If “OK” selected THEN Run Rule A ELSE (Cancel) Run Rule B Set Recommendation
Set Field Notification Display an error message next to a field with an incorrect data value If Opportunity Type = “Renewal” AND ExpectedRevenue < 10,000 AND ExpectedDate > 1/1/2021 THEN Set Field Notification on ExpectedDate “Deals under 10,000 must be expected to close within 12 months”. Set Recommendation
Save Save the record   N/A
RUN RULE! Implement ‘Nested IF’ conditions.  In other words, IF one thing is true, test something else.  If that is also true, then do the actions specified. IF Account Type = ‘Customer’ Then Run Rule: Process New Customer N/A