Skip to main content

Posts

Showing posts from September, 2016

How to add your personal PowerBI Dashboard as a system dashboard

CRM 2016 SP1: Solution import failed with Solution With Id = 12ac16ec-41d5-1685-a230-0b1c31499250 Does Not Exist

Importing Solutions with the upgrade solution (holding solution) option is still not stable with CRM 2016 SP1 On-Premise.

Ronald Lemmon already posted the same issue on his blog:
http://ronaldlemmen.blogspot.de/2015/11/solution-with-id-86ac16ec-41d7-4685.html

I expected it to be fixed with SP1 but it is still happening every now and then.

With this query and the solution id (guid) of the error message you are able to find records in the ProcessTriggerBase table that reference the guid of a failed import from a holding solution that is not existing in the system anymore.

select * from ProcessTriggerBase where solutionid = 'YOUR_SOLUTION_GUID'
Due to this reference to a solution id not existing in the system you will not be able to import a new version of the target solution to be updated.

What I did and this is probably not a supported solution is to update the guid to the actual target solution that is currently deployed in the system.

To find out the id of the target solution y…

CRM 2016: UserEntityUISettings With Id = bcbab51d-c780-e611-80e8-005056a819cf Does Not Exist

Following scenario:

1.) Login to a new created CRM organization
2.) Created a backup of an CRM org. database
3.) Did some testing in CRM and created some data
4.) Restored the database
5.) Tried to open an account
6.) CRM threw this error:
     UserEntityUISettings With Id = bcbab51d-c780-e611-80e8-005056a819cf Does Not Exist

Reason:
The navigation context or history got lost in between backup and restore.

Solution (on-premise only):
Got into the UserEntityUISettings and delete all records that belongs to the user (id) that had this error message pop up.

CRM 2016: The attribute with AttributeId = 'guid' was not found in the MetadataCache.

During the export of an unmanged solution I always received the following error message from my CRM 2016 SP1 OnPremise development system:

The attribute with AttributeId = '023bda49-9dfa-401e-b348-9374a4141186' was not found in the MetadataCache.

Then I tried to remember what I did since the last solution version.
=> Yes, there was a field that I deleted, because the customer does not need it anymore.

Because I am working on-premise it was easy to check the database for the specific attribute.
First, I searched in the attribute table:

SELECT [AttributeId]
  FROM [Dev_MSCRM].[MetadataSchema].[Attribute]
  where [AttributeId] = '023bda49-9dfa-401e-b348-9374a4141186'

=> result was nothing

I concluded CRM deleted the field in this table but missed to remove the attribute from our customer solution.

Next thing was to check the solutioncomponent table:

SELECT [ModifiedOn]
      ,[CreatedBy]
      ,[ObjectId]
      ,[IsMetadata]
      ,[ModifiedBy]
      ,[SolutionId]
 …

CRM 2016: Social Pane - Override Add Phone Call or Add Task link onclick event to open activity in full window

Add this code to the entity's form onload event...

function Form_OnLoad() { setTimeout(function () { var crmContentPnl = parent.parent.document.getElementById("crmContentPanel"); for (k = 0; k < crmContentPnl.children.length; k++) { if (crmContentPnl.children[k].style.visibility == "visible" && crmContentPnl.children[k].tagName.toLowerCase() == "iframe") { var notesControl = crmContentPnl.children[k].contentWindow.document.getElementById("notescontrolactivityContainer_notescontrol"); // phone call notesControl.children[0].children[1].children[0].setAttribute('onclick', 'Mscrm.ActivityContainer.openNewActivityCreateFormInline(4210); return false;'); // task notesControl.children[0].children[1].children[1].setAttribute('onclick', 'Mscrm.ActivityContainer.openNewActivityCreat…

CRM 2016: Social Pane Hide Add Phone Call or Add Task link

To hide the "Add Phone Call" or "Add Task" link from the social pane section use the following JavaScript line in your entity's form onload script:

function Form_OnLoad() { setTimeout(function () { var crmContentPnl = parent.parent.document.getElementById("crmContentPanel"); for (k = 0; k < crmContentPnl.children.length; k++) { if (crmContentPnl.children[k].style.visibility == "visible" && crmContentPnl.children[k].tagName.toLowerCase() == "iframe") { var notesControl = crmContentPnl.children[k].contentWindow.document.getElementById("notescontrolactivityContainer_notescontrol"); // phone call notesControl.children[0].children[1].children[0].style.display = "none"; returnfalse;'); // task notesControl.children[0].children[1].children[1].style.display = "none";…