Thursday, February 28, 2019

SI Common solution in Dynamics 365 CRM

We have received a weekly update from Microsoft which caused error in transferring the solution between our environments.
When we tried to import the solution into the target environment, we received error saying:

<Required key="655" type="60" displayName="Přehled prodeje" parentDisplayName="Klient" solution="SICommon (" id="{cb430327-bcc1-416d-959d-db7592e685af}" />
<Dependent key="655" type="60" displayName="Přehled prodeje" parentDisplayName="Klient" id="{cb430327-bcc1-416d-959d-db7592e685af}" />

We don't see such a solution in our system, so we had to ask Microsoft Support for help.
It turned out, that there is a mismatch between our two environments.

The issue we’re seeing is happening due to a version mismatch between source and target environments for the solution “SICommon” which is one of the Microsoft solutions that are not visible from the UI.
On source environment, the version is:
On the target environment, the version is:

Suggested workaround:
If the form is not needed, we can remove the form from the solution on the source environment and re-export the solution
Though this is not recommended, but we can also adjust the solution.xml to remove the tag for missing dependency on this form.

If you don't do anything, it will be solved eventually.

Have a great CRM Day!

Friday, February 8, 2019

Alternate Keys on Connection entity

My customer wanted to manage the connections between accounts and contacts from external system.
We have configured the connection entity and created a new field called new_relationshipid and we used this field for setting up Alternate key, because this is an external id which should be used for future updates by the external system.

So far it is ok. Now comes the trick. When connection is created, the CRM is automatically creating a connection with the opposite direction. The one which you created has attribute ismaster = true. The duplicate one has the attribute set to false.
But when you create an alternate key on the connection entity, you actually block creating the connections. Alternate keys must be unique! So when the system tries to create opposite connection record, it fails.

I have created a ticket with Microsoft Support to handle this issue and the result of this was that the product team will remove the possibility of alternate keys for connection entity from the UI. So we will not be able to use them.

As a result we are forced to create a new custom entity to save connection information.