CRM 2011 report wizard bug

Error:

Reports generated by the CRM Report Wizard fails to run after being modified a couple of times.

The SQL Server Reporting Services log reads:

An exception has occurred in data set ‘DSMain’.

Cannot read the next data row for the dataset DSMain.

Number of link entities in query exceeded maximum limit.

Cause:

Duplicate link-entity lines have been inserted in the query of the RDL file by the Wizard.

Solution:

This is a bug in Microsoft Dynamics CRM 2011 Rollup 16. MS Support is on the case, hoping for a hot-fix soon. -UPDATE- This issue will be fixed in Rollup 17 due to be released by late April. – UPDATE-

Workaround:

You can temporarily extend the number of link entities in query exceeded maximum limit by using this unsupported method:

INSERT INTO DeploymentProperties(Id,ColumnName,IntColumn,Encrypted)
VALUES(’98C49E91-545E-E211-85CE-000C29DF81DE’,’QueryLinkEntityLimit’,20,0)

select * from DeploymentProperties where ColumnName=’QueryLinkEntityLimit’

Thanks to: http://www.comunidadcrm.com/2012/09/28/fetchxml-error-crm-2011-number-of-link-entities-in-query-exceeded-maximum-limit/

Advertisements

CRM 2013 Easy way to find a GUID

I you want to find the guid (id) of an entity record in CRM 2013 do this:

1) Right-click the record in a list, for example a Contact, and select “Open in a New Window”.

2) The URL of the page will now display in the address bar. Copy the URL to notepad:

https://orgX.crm4.dynamics.com/main.aspx?etc=2&extraqs=&histKey=417109192&id=%7b4362F996-893C-E311-9B5D-6C3BE5BEEF3C%7d&newWindow=true&pagetype=entityrecord&sitemappath=MA%7cCustomers%7cnav_conts#840474163

3) Now select the text between “&id=%7b” and “%7d&newWindow” since this is where you’ll find the GUID: 4362F996-893C-E311-9B5D-6C3BE5BEEF3C

 

CRM 2011 Rollup 15 setup issues

clip_image002clip_image002[4]

We received following error messages when updating to Rollup 15:

Action.Microsoft.Crm.Setup.Common.Update.DBUpdateAction failed.

Cannot drop the procedure ‘p_GetAllOrgsFromAuthInfo’, because it does not exist or you do not have permission.

Cannot drop the procedure ‘dbo.p_DisableCreateUser’, because it does not exist or you do not have permission.

After finding more info here we solved this by dropping the procedures and letting the setup re-create them.

CRM 2011 Close Quote Dialog Box customization

Here’s how to change the default value from “Create a revised quote” to “Do not revise this quote” in the Close Quote dialog box.

  1. Find the file dlg_close.aspx in folder %programfiles%\Microsoft Dynamics CRM\CRMWeb\SFA\quotes and backup a copy of it.
  2. Edit the file and insert the following script lines at:

Sys.Application.add_load(function() {
//Custom code to set default radio button Daniel Bergsten 130902
document.getElementById(“rdNoRevisedQuote”).checked = true;
document.getElementById(“rdCreateRevisedQuote”).checked = false;
//130902

Continue reading

CRM 2011 Javascript sample – roles and events

CRM 2011 Javascript sample code for catching an onSave event and prevent the event from happening unless the user belongs to a certain security role.

In my example the “Cancel Sales Order” event is caught and prevented by calling the function CatchCancelEvent on the onSave method of the Sales Order form with the execution context passed as the first parameter.

Continue reading

CRM 2011 Custom reports gives error: rsProcessingAborted

SYMPTOMS: Custom reports do not work with an SSRS log error similar to:

System.ServiceModel.Security.SecurityNegotiationException: A call to SSPI failed, see inner exception.
System.Security.Authentication.AuthenticationException: A call to SSPI failed, see inner exception.
System.ComponentModel.Win32Exception: The target principal name is incorrect —>

PROBLEM: This happens if the SPNs of the CRM web service is not set properly and SSRS server is unable to get a Service Ticket from the Ticket Granting Server (TGS).

SOLUTION: Register the following SPNs:

setspn -a http/<CrmApplicationServerName> <CrmAppPoolServiceUserAccount> (E.g. setspn -a http/crm DOMAIN\SVCCRM)

setspn -a http/<CrmApplicationServer FQDN> <CrmAppPoolServiceUserAccount> (E.g. setspn -a http/crm.domain.com DOMAIN\SVCCRM)