Rollup 3 Fixes Many Pain Points of CRM 2013

Paul Nieuwelaar, 30 July 2014

Rollup 3 for Dynamics CRM 2013 is now available to download, and fixes many of the issues I’ve experienced with CRM 2013.

Here are some of the main bug fixes which I’m happy to see:

Unresolved email sender is not displayed correctly on Email form
Unresolved recipients on an email used to disappear when you load the form (even though they are still physically there). They now display correctly when loading the form.

Users attempting to add multiple records to a N:N relationship in Microsoft Dynamics CRM 2013 will experience the following error dialog even though the associations are completed: Duplicate Record: A record with these values already exists. A duplicate record cannot be created. Select one or more unique values and try again.
In some cases when we associate records through a N:N it would error stating that there were duplicates, even though there were not. The records would still be associated, and the error could be ignored.

Duplicate records are created if Save or Save and Close is pressed multiple times
This one has been around since the Beta days of CRM 2013, despite being ‘fixed’ in rollup 1, it still happened randomly some times. Hopefully this is fixed once and for all now.

Script error occurs when selecting a party type field in a Business Rule action
This was only a problem if you wanted to set the default value of a party list field, such as the ‘Call To’ or ‘Call From’ on a Phone Call. When you select one of these fields from the Action, it would give an ‘Unsupported Type’ error. The only workaround was to use JavaScript instead.

JavaScript methods will not trigger when a business required field is changed to be blank
This was an annoying one, but ultimately didn’t affect functionality, only user experience – since it’s required the form cannot be saved without a value, so as soon as a value is entered the onchange will fire again.

Custom plugin Exception is not thrown in UI as expected
Some times when plugins throw an exception you would only see the exception message in the bottom corner by the save button, but the actual message box would not pop up so it wasn’t always obvious what’s happened.

SDK- preventDefault is not working to stop deactivation from Account record
Another annoying one – if you had custom validation running on save of a record you could bypass the validation by clicking deactivate, which still performs a save. The only way around this was to also have a plugin performing server-side validation.

In CRM 2013, there was a change to allow users who have Impersonation (actonbehalf) privileges to activate and deactivate the workflows. This also allows users with the appropriate permissions to activate and deactivate workflow owned by other users in the UI. When you do this, it creates a new line in the WorkflowBase making the user that published this workflow the owner. If the workflow is set to the scope of a User, this workflow will only fire for the ModifiedBy user (the user that published this.)
One of the new features I recently wrote about – I haven’t come across this issue personally but it’s good to know it’s fixed, as this could cause major headaches.

Exporting Application ribbon contains duplicate values in XML
This is probably the most annoying bug I’ve ever dealt with. I spent a lot of time investigating what I had done wrong (thankfully nothing as it turns out). The issue we faced was around the custom hide action on the global ‘Connect’ button, which would create 2 hide actions in the XML and cause a solution import to fail.

Activity Types change when importing Solutions. As a result a view on the Activity entity that references the custom activity entity stops working. Warning message on the filter: This condition had one or more list values that no longer exist in the system.
If you have custom activity entities and you create a view of activities where the activitytypecode equals the custom entity, the view will be invalid after a deployment as the entity type codes of the activity entity may have changed, meaning the optionset value has also changed. The workaround for this was to either do a join on the actual activity, or to use ‘not in’ on all other activity types. Happy that this is fixed.

Untracking an email you do not own results in the email being deleted from CRM
This one I raised – woohoo! Instead of simply ‘untracking’ the email like it does if you own it, the only option would be to delete the email when owned by someone else. If you don’t have access to delete other users activities, you were unable to untrack it.

Removing / adding any field to the form after enabling the option "Automatically expand to use available space" causes the sub grid to shrink or resize to much smaller in size.
This one’s been around for a while. Whenever ‘auto expand’ is used, it would cause additional blank rows to be inserted after the field/subgrid. Pretty much the only workaround was to not auto expand.

For a complete list of fixes, check out the KB Article.