Recently in one of my projects, I came across an interesting feature that was introduced in Dynamics CRM 2015 that I didn’t know about, so I thought of sharing it with you as many may have overlooked this.

We all know about Business Rules that were introduced in Dynamics CRM 2013. Although limited, they provided a great alternative to writing JavaScript for achieving simple functionalities, like setting default values, hiding/showing fields or changing the requirement level of field, etc. They ran at the client side on user’s browser or Outlook or Dynamics CRM for tablet.

However, with Dynamics CRM 2015 and 2016, Microsoft introduced a new option in Business Rules called ‘Scope’.

So if we now create a new business rule in Dynamics CRM 2015/16, we get a drop down option on the business rule form called ‘Scope’ which could have the values ‘All Forms’ or ‘Entity’. We may choose a specific form as well instead of ‘All Forms’.

executing business rules

 

We can select ‘All Forms’ (or a specific form) if we want to run the business rule on just the client side.

But if the need is to have the business rule executed on server side as well, ‘Entity’ is the option to choose. In this case, we do not need a Dynamics CRM form for the business rule to fire. Business rule will fire even if the business rule condition is met by doing an SDK operation via plugin or workflow.

So if we are just doing things like show/hide fields or setting field requirement level on form, we could go with ‘Forms’ option. But if we are doing an action like setting a field value, most likely ‘Entity’ would suit the need best because the action will always execute regardless of whether the condition is met by a change on form or by an SDK operation.

Hope this helps someone.

Cheers!