Tip #928: When CRM monthly charts won’t render

In Dynamics 365/CRM on premises, if you create a chart and group by month and find that it doesn’t render, you may need some additional SQL permissions.

With these settings in place, your monthly grouped charts should render correctly.

Tweet about this on TwitterShare on FacebookShare on Google+

Tip #927: Duplicates when merging

When you merge two records you may receive the following cryptic message:

A record that has the attribute value {1} already exists. The entity key {0} requires that this set of attributes contains unique values. Select unique values and try again

What? Select where? That’s really confusing because the merge process is supposed to ignore the duplicates because one of the records is being deactivated.

Lucky for us, it’s not a generic SQL error and the answer is the mentioning of the entity key in the message. It refers to an alternate key that exists on the record. When alternate key is present, the unique index is created by SQL Server and that index trumps any business layer rules and duplicate detections that Dynamics 365 might have in place.

Effectively, you will receive the above message when you’ve selected the alternate key value from the subordinate record and are trying to merge it into the master record. Subordinate record will be deactivated but the value of the alternate key still there (and in the index) so any attempt to add the same value in the master record breaks the merge process.


  • Manually remove the value from the alternate key from the subordinate record and add it to the master.
  • “Swap” master and subordinate and merge into the record that contains the correct key value.


Tweet about this on TwitterShare on FacebookShare on Google+

Tip #926: How to find space

We did talk about wildcards and using some unorthodox search techniques before. But today’s tip is not a revision but rather an extension.

In one of the projects we had the need to find all contacts whose last names contain spaces (if you must know, that’s because last names were used as a base for a subdomain). Trying obvious “Last Name Contains <space>” condition immediately gives you “Provide a valid value for Last Name”. Dynamics 365, just like the nature, abhors a vacuum.

Wildcards to the rescue – enter the condition as “Last Name Contains * *” and Dynamics 365 oblidges.

For example, let’s find all last names with not one but two spaces! “Last Name Contains * * *” should get you the results:
Find last name with two spaces

Tweet about this on TwitterShare on FacebookShare on Google+

Tip #925: Mobile attachments revisited

As we approach the elusive tip 1,000, we are updating some of our tips from the past. In this tip, we will re-evaluate tip 259 regarding attaching files to Dynamics CRM via a mobile device. 

The takeaway from tip 259 was that if you used Android, you could attach files from the leading web file storage apps in CRM, but if you used iOS, “you can attach any file you want, as long as it is a photograph stored on your device camera roll.”

So what has changed?

If you open the Dynamics 365 mobile app on an iPad and create a note, you will see that it still only gives you the option to attach a photo. However, thanks to advances in the iOS platform, we now have a supported way to add other types of files from an iPad:

  1. Click “more” and “open in browser”
  2. Tap the “enter a note” box on the notes tab of the social pane and tap the “attach” button
  3. You will have the option to select a photo or files from any web storage app, such a OneDrive, Dropbox, or Google Drive.

While still not perfect (or addressing attaching files from phones), it is better than it was 3 years ago. Let’s see what happens when iOS 11 brings a file system to iOS.


Tweet about this on TwitterShare on FacebookShare on Google+

Tip #924: Removing the dashboard advanced find button

In Dynamics 365, Microsoft moved the Advanced Find button to a standard location on the upper right corner of the screen. If you upgrade your configuration from CRM 2016 to Dynamics 365, you will see that the old “Advanced Find” button still appears on CRM Dashboard ribbons. In new environments, this button will not be there.

This is an issue because it may confuse users, and we have also seen that in some environments, this legacy button is no longer functional. So you will want to hide the button.

The best way to do this is using the Ribbon Workbench.

  1. Create a solution in CRM, add the application ribbons to the solution (Add existing>>Application Ribbons).
  2. Open the solution in the Ribbon Workbench.
  3. From the main ribbon, scroll right and find the MSCRM.DashboardTab group.
  4. Right click on the Advanced Find button on the ribbon and select hide.
  5. In the Ribbon Workbench publish your changes.
Tweet about this on TwitterShare on FacebookShare on Google+

Tip #923: Where is my license key?

A client recently moved from a SPLA license to a Volume License (VS) license for CRM On Premises. They needed to replace their license key, but the Volume Licensing Service Center (VSLC) said a key code was not required for Dynamics CRM 2016.

The answer is there still is a product key, but the volume licensed installer for Dynamics CRM/365 is “pre-keyed.” This means that the product key is embedded in the installer.

To get the new key, download the installer from the VLSC portal. Run the installer to unzip the files, then cancel the installation. Open the file get the \server\amd64\license.txt. This text file will include your new key.

You can then follow these instructions to change your product key on your existing deployment.




Tweet about this on TwitterShare on FacebookShare on Google+

Tip #922: Connect Microsoft Teams and Dynamics 365

Recently Microsoft Teams added the ability to connect your Team channels to many other services. One of these available connections is Dynamics 365 (CRM).

From your team channel, click the ellipses button and select connectors.

From the CRM category, select Dynamics 365 (not those other guys)

Log on to your environment and select the record that you want to connect to your channel. Note–you can add multiple connections to different CRM records.

Now when someone adds a task activity to the connected record, a post with a button to view the record will be added to the Team channel.

What you need to know

  • Only certain system entities such as accounts, contacts, leads, and opportunities can be connected to Teams. Custom entities cannot be linked.
  • Based on my testing, only task activities appear on the channel wall, and only the body of the task, not the subject.

Want to extend the integration? Use Microsoft Flow. Flow includes connectors for both Teams and Dynamics 365, including the ability to generate automatic posts for almost any Dynamics record, including custom entities.

Tweet about this on TwitterShare on FacebookShare on Google+

Tip #921: Clean contacts with Dynamics 365 Outlook app

One of my favorite things about the Dynamics 365 Outlook App is the way that recipients are displayed in the app pane, and how easy it is to update or create contact records in CRM. This makes it very simple to identify when contact information is missing and validate that we have complete contact information in CRM.


You will see all contacts listed in the “recipients” section, along with a summary of the data in CRM for that contact. You can tell if the contact exists in CRM if it shows the chain link icon. If the data is incomplete (like in the image above it just includes the email address), I can click the hyperlink for the contact, open the CRM contact record, and update the contact information.

If the contact does not exist in CRM, you will see “unknown recipient” when you click on the contact name. You can easily add the contact to CRM by clicking the “Add to Dynamics 365” link and creating and saving the contact.

Tweet about this on TwitterShare on FacebookShare on Google+

Tip #920: Smart licensing with dual use rights

One of the key features of Dynamics 365 is the choice of the deployment platform: go online, on-premises or partner-hosted. With Dynamics 365 Online leading the way, licensing has evolved beyond simplistic “pay-per-server-plus-cal” model of the past.

For penny savvy customers, the recommended bedside reading is Dynamics 365 On-Premises Enterprise Edition Licensing Guide. If you don’t fall asleep by page 5 then the goodness is right there. It’s so good, it’s worth quoting verbatim (highlights are mine):

Dual Use Rights

One of the advantages of Microsoft Dynamics 365 is the option to deploy either in Microsoft’s cloud or in a private on-premises or partner-hosted cloud. In some cases, customers may want to deploy both modes simultaneously, for migrating a Microsoft Dynamics 365 on-premises deployment to Microsoft Dynamics 365, running private Dev/Test deployments in Microsoft Azure.

Users or devices licensed with Dynamics 365 User Subscription Licenses (User SLs) have use rights equivalent to a CAL for the purpose of accessing on-premises functionality. With Microsoft Dynamics 365 the Dynamics 365 (On-Premises) server license is included with the SLs.

In layman terms, “buy one get one free!”

Careful though

Dual Use Rights is a one-way street

Dual Use Rights convey Microsoft Dynamics 365 (On-Premises) Server license access rights to Microsoft Dynamics 365 SLs. Microsoft Dynamics 365 (On-Premises) CALs have no reciprocal rights to access functionality provided exclusively to Microsoft Dynamics 365 SLs, nor do Dual Use Rights imply equivalent capabilities between Microsoft Dynamics CALs and Microsoft Dynamics Microsoft Dynamics 365 SLs.

Dual Use Rights only apply to Dynamics 365 so don’t forget to license other deployment components.

Licenses for all supporting servers (e.g., Windows Server and CAL(s)) must be obtained separately.

Saving best for last

If on-premises user needs both sales and customer service functionality, you need to buy 2 separate SKUs. However, Enterprise Plan 1 license (available as online-only SL) will allow you to use either one and save a bundle!

Tweet about this on TwitterShare on FacebookShare on Google+

Tip #919: How to deal with pending alternate keys that fail

We did write about pending alternate keys in tips 894 and 894 + 3 and that it’s easy to reactivate the pending keys using solutions UI in Dynamics 365.

However, as David “Xrm.Tools” Yack reports, sometimes pending keys are really stubborn and pressing Create Index generates very introspective and philosophical “Exception: Event failed due to an exception” message. Reactivating the key does not work either because it’s only supported for failed jobs and getting an exception apparently is not really a failure.

Another toolman, Tanguy “The XRM Toolbox” Touzard, to the rescue!

This stalemate can be resolved by deleting the failed job. That seems to allow you to re-activate it and re-create the index.

Tweet about this on TwitterShare on FacebookShare on Google+