This page contains a known bug in Microsoft Dynamics 365 and its impact on the North52 BPA product. Any issues we list here have an open support ticket with Microsoft and as soon as Microsoft fix the issue(s) we will update this webpage.
Dynamics 365 2016 (v7.1, v8.0 to v8.1, 8.2)
Turbo Forms Bug
This bug potential affects all onChange() and OnSave() client-side formulas in CRM 2015. The bug relates to the fact that when using turbo forms and the first auto-save kicks in on the form Microsoft no longer track dirty fields correctly.
There has been a breaking change in how the client side function Xrm.Page.data.entity.getDataXml() works in CRM 2015 when using turbo forms.
Before when this function was called it used to return all the values of all the dirty fields on the form whenever data changed. But now this returns empty when using turbo forms after the first auto-save has fired.
Note : This has been resolved in CRM Dynamics version 184.108.40.206
Steps to Reproduce
Using the latest version 8.1 and initially assumes turbo forms are active
- Add the above function call on the lead entity for the on-change event of the jobtitle field, (see below screenshot)
- Now open a lead record, change the jobtitle field and hit tab
- You will see the value of the dirty field in the alert
- Try this a couple of times and each time you will see the dirty values
- Now close and re-open the same lead record
- Change the jobtitle field and hit tab
- You should see the dirty value
- Wait for the auto-save to execute
- After the autosave completes try changing the jobtitle field again and you see it will no longer returns the dirty value just and empty xml node as shown below. This is the bug.
Expected Result after the first auto-save executes for a turbo form
This means that when your formulas execute it looks like they retain the old values on the form and do not use the updated values the user has entered which can cause unexpected results.
Turn off turbo forms under Settings -> Administration -> System Settings and try steps 5-9 again and you will see that the dirty fields are shown.