web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :

JavaScript and Business Rules

Neil Parkhurst Profile Picture Neil Parkhurst 10,727 User Group Leader

I haven’t blogged about JavaScript or code changes for some time! Probably because in Microsoft Dynamics 365 I mainly use a low code approach these days. But today I had a small challenge with some code and thought the solution I found might be useful to others ….. my challenge was that my business rules weren’t being triggered after a field had been changed using JavaScript.

I guess this must be a common problem! But it just happens to be a problem I haven’t had before.

In my scenario I had a business rule that was hiding / showing fields on my account form. The fields were visible (or not) based on a custom account type field. The business rule worked perfectly when I manually changed the account type on my form. But I also had some code which changed the value of my account type. Changing my account type using JavaScript worked but didn’t trigger my business rule. This made me sad!!

I could have re-created the logic from my business rule in JavaScript on my account form. But I really didn’t like the idea of creating more code!

So instead I added one extra line of code to fire the onchange event in my account type field. Which in turn triggered the business rule. Meaning I didn’t have to write more code. This made me happy!!

So you’d add something like <<FormContext>>.getAttribute(“myattribute”).fireOnChange(); (As in my example below.)

 

var newValue = “Bla bla bla”;

var accountType = context.getAttribute(“new_accounttype”);

accountType.setValue(newValue);

accountType.fireOnChange();

 

As you can see this was a very simple change. If you frequently mix JavaScript and Business Rules I’m going to guess you’ll already be familiar with this “workaround”. But if like me you’d not stumbled on this problem before I do hope this short blog post will prove useful. Enjoy.

Comments

*This post is locked for comments