So where's the issue?
Well in addition to the Display Rule, you can also define an Enable Rule which controls whether the button should appear in an enabled or disabled (i.e. greyed out) state. The Display Rule trumps the Enable Rule i.e. if the Display Rule returns a "Do not display" result, then there's no point in executing the Enable Rule to determine how to display it. Which of course makes sense and is how it should work.
The good news is that this is precisely the behavior if you open up the create form using Internet Explorer navigation. Yay!
The bad news is that it seems that the same behavior is not exhibited if you open up the create form using Outlook navigation. And just to make sure you know what I mean by "Outlook navigation" below is a screenshot to help clarify this:
Outlook Create Form - note the icon at top left |
Versus the same form opened using Internet Explorer:
IE Create Form - note IE container |
The issue of course is that in the case of the Outlook Create Form it will execute the Enable Rule function whereas in the IE Create Form it will not. And the result might be an error in the Outlook Create Form as the function may not be relevant to such a form state.
Fortunately there is a work around until Microsoft fixes this issue (which I haven't made them aware of as the workaround is quite effective and not too onerous). Simply add a condition to your custom jscript function to limit it to working with update form as highlighted in the example below.
function CustomButtonEnableRule() { if (Xrm.Page.ui.getFormType() == 2) { // function logic } else { return false } }
No comments:
Post a Comment