Over the last several months, we have been helping our customers upgrade their Microsoft Dynamics 365 environments to V9. As expected, we often need to revise custom code in JScript or plugins, but the upgrades have gone smoothly & our customers are enjoying the benefits of V9. There are two common issues that we do see after the upgrade to V9 that I'd like to share with you....and tell you how to resolve them.
Site Map includes an area named "XRM".
Edit the Site Map to remove the area, if desired. Use the Site Map Editor plugin in XrmToolBox or the Site Map Designer in the App Designer.
If using field security profiles, the field security settings for one or more fields might be "corrupted," preventing any updates to one or more fields. We noticed this specifically with the "standardcost" field on the Product entity.
Here is an example of an error message when trying to update the standardcost field on the Product entity (I replaced actual GUIDs with all zeros):
User with ID 00000000-0000-0000-0000-000000000000 does not have Update permissions for the standardcost attribute in the product entity. The productid of the record is 00000000-0000-0000-0000-000000000000
Here is an example of an error message when trying to disable field security for a field:
Exception type: System.ServiceModel.FaultException`1[Microsoft.Xrm.Sdk.OrganizationServiceFault]
Message: Caller ed5b7b60-b8eb-441c-91db-4cae88504f07 does not have full permissions on the attribute 'standardcost' to unsecure the attributeDetail:
<OrganizationServiceFault xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/xrm/2011/Contracts">
<ErrorDetails xmlns:d2p1="http://schemas.datacontract.org/2004/07/System.Collections.Generic" />
<Message>Caller ed5b7b60-b8eb-441c-91db-4cae88504f07 does not have full permissions on the attribute 'standardcost' to unsecure the attribute</Message>
<ExceptionSource i:nil="true" />
<InnerFault i:nil="true" />
<OriginalException i:nil="true" />
<TraceText i:nil="true" />
Open a ticket with Microsoft and they will fix it on the backend.
After Microsoft completes the fix, confirm that field security profiles work as expected.
Also confirm that field security can be enabled and disabled as expected.
For one of our service user accounts used for integrations, I had to remove the security role and add it back in order for the Microsoft fix to go into effect for that user.
Before upgrading to V9, be sure to review the following information:
- What's new on the Microsoft Dynamics 365 Documentation site.
- List of known issues for V9.
After upgrading, test EVERYTHING, including JScript, plugins, workflows, business process flows, security, reports, Power BI, Microsoft Flow, PowerApps, integrations, and anything else that is part of the solution.
Finally, be sure to consider the new features and how they might be used to benefit your organization. Continuous improvement is the key to long-term success with any business application.