In Dynamics 365, both JavaScript and
Business Rules allow you to add business logic to your forms. For example, you
can use these both to conditionally hide fields, set default values or enforce
field requirements. Both JavaScript and Business Rules work in a
variety of environments outside of the native Dynamics 365 web browser version.
This includes Dynamics 365 for tablets and even the Dynamics 365 Outlook app
(online or offline mode). However, you should be aware of some
recognized differences and limitations of each.
JavaScript
JavaScript requires a developer, and
involves adding logic to a form that executes in real time from the end users
machine.
·
Developers commonly use it to perform functions that
manipulate form elements, such as conditionally hiding/showing fields or
enforcing field requirements.
·
This logic can also include changing the value of
fields. For example, developers may code it to clear the value of
fields once they are hidden on the form.
·
Developers still use JavaScript in Dynamics 365 However,
be aware of some well-known issues experienced with the use of JavaScript:
·
The behavior can be different, based on inconsistencies
in each end user’s environment (which are difficult to regulate!). This can be
true even if the app provider says it’s compatible. While solution providers
try their best to make everything compatible in most common environments, there
are sometimes noticeable differences in behavior. Even worse, it may not be
compatible at all in one users’ environment and therefore not execute.
·
It requires a developer to code and maintain as your
business logic changes.
Business Rules
Business Rules were first
introduced in Dynamics CRM 2013, but they have since evolved! Business Rules
can replace some JavaScript and they require no coding knowledge. Microsoft
provides a simple, declarative interface that your system administrator can use
to create a business rule. However, they do require an understanding of both
form logic and your business needs.
·
An added benefit over JavaScript is that you can toggle
their scope to either work from just the form level or also from the
entity level.
·
The entity level enables the rules to run from the
server level. This is a nice benefit to organizations that utilize external
apps which automatically sync or create records in CRM in the background, such
as mobile apps.
·
It ensures that your business logic will continue to
execute even if the end user is not creating the record within CRM.
Some important limitations of
business rules to keep in mind are:
·
Business Rules will always run when a form loads and the
associated field value changes.
·
With JavaScript, you have more flexibility. For example,
a developer can configure it to only run when a field value changes or
when the record is saved.
·
A scenario where this is important to keep in mind: You
have JavaScript that executes on change of a field which then hides other
fields and clears their values. You then replace that JavaScript
with a Business Rule. Because of the limitation mentioned above, the logic
will now also run when the form is loaded.
·
Business Rules haven’t evolved to determine whether a
field value is already cleared, so it executes every time. The result? Your end
users experience this annoying error closing out of the record, even if they
haven’t made any changes:
Business Rules can only
interact with fields. You cannot use those to specify hiding/showing of
entire tabs/sections. A workaround to this is to hide all fields within that
tab/section, but that can be cumbersome with many fields on evolving
forms. In this scenario, JavaScript may be easier to implement.
Any JavaScript that fires
OnChange of a field will not execute when the field value is changed by a
Business Rule. For this reason, it is often recommended not to combine Business
Rules and JavaScript. However, this is not always feasible, so it is important
to keep in mind.
If a Business Rule references a
field that has been removed from the form, then the rule will not run and an
error will not appear. This could also be seen as beneficial, depending on your
situation.
Business Rules are cached on
Dynamics 365 for tablets.
If your System
Administrator/Customizer changes the logic, then this will not be committed to
tablet users until they close and re-open it.
Most of the time, this should not be
an issue unless you have users who work 24/7!
New features of Business
Rules in the latest
update from Dynamics 365.
Two worth highlighting include:
o Create a
snapshot of an entire Rule. You can use this to share with your team members
for input before it is committed to the system.
o Create business
recommendations based on business intelligence. This adds
helpful tips next to fields to guide users on filling out forms based on
previous data filled in. A great example provided in Microsoft’s blog is
the use of these for product recommendations. For an example, an end user may
be filling in a new Opportunity for a prospect. Based on previously identified
information such as their age and insurance type, a recommendation can be made
for products that other prospects within their group typically purchase.
No comments:
Post a Comment
if you have any doubts, please tell me