You get a simple UI where you can define Business Rules that will be executed by the CRM form’s OnLoad and OnChange events. The rules are defined within each entity inside your solution file:
Each rule is comprised of Conditions and Actions (and there is a space to include some comments). Here’s an example:
The Conditions are similar to what you will be used to with CRM’s workflow designer but Microsoft have taken a different approach to the configuration experience. When evaluating fields in your conditions you can check for nulls / not nulls and you can compare the entered value with a hard coded value, a calculated value or with another field:
The actions available are primarily related to fields:
You can also write Business Rules that perform validations, block record updates and display errors the user. Here I tell the user off once they enter an Est. Revenue value:
This surfaces in the UI as follows:
Other things to know:
- The rules need to be activated before they take effect (similar to workflows)
- You can specify whether the rule applies to all forms or specific forms
- The rules fire in the new mobile client for iPad and Windows 8
- The rules are client-side rules, they do not fire during API calls, data import, etc. Microsoft’s vision is to add that support in a future release.
- If your rule hides a field then CRM moves fields up to close the gap
- You need to consider the inverse of your rule. i.e. in my example I tell CRM what to do when the Est. Revenue field contains data. I don’t tell it what to do when the Est. Revenue does not contain data. I need to write a second Business Rule for that.
- String comparisons are case sensitive
Fun feature, I like it!