Tip #471: What will stop your form from closing

Failed import using business rule

tl;dr Setting data validation error on the form level with Xrm.Page.ui.setFormNotification call will NOT stop form from closing, setting errors on individual controls with Xrm.Page.getControl(arg).setNotification, on the other hand, will. To achieve even better results, use business rule instead of the javascript. Slightly longer version Friend of mine pinged me to help with the script […]

Tip #462: Waiting for developer toolkit

CRM developers have been patiently waiting for Godo CRM Developer Toolkit that works with something better than Visual Studio 2012. Now being two version behind, it does not look like it’s coming any time soon. The good news is that, acknowledging both the demand and the delay, the team has been releasing the most important […]

Tip #461: Getting started with that mysterious USD development

Kamaji - the perfect call center employee

Not United States Dollars, I’m afraid. Unified Service Desk, the quite achiever in the Dynamics family, and the secret sauce to any successful call center implementation. In addition to having CRM (any version from 2013 SP1 up to CRM Online 2015 Update 1 will do), USD initial setup even for the development is very trivial: […]

Tip #459: Don’t touch that file. Or that one. Or this one.

Do not touch the thermostat

From time to time people complain that, after applying the update rollup X, their CRM deployment suddenly starts spitting out errors. One of the most popular ones is “Parser Error Message: Could not load type ‘Microsoft.Crm.MapOrgEngine’”. They complain here. And here. And here, here, here, and there. And then they give bad advice here. Why […]

Tip #447: To filter or not to filter – functional view

This seems to be the week of unsupported tips. I know, we said it before: Swim between the flags, and Use filtered views even if you use stored procedures. But what do you do if this particular report’s query is a monstrosity, adding custom indexes don’t help, and any attempt to restructure it just makes […]

Tip #446: How to avoid overwriting audit and duplicate detection flags

Audit On/Off

tl;dr To avoid overwriting some of the system entities flags for the customers, manually remove those flags from the managed solution files. WARNING! Super-duper unsupported. Some juicy details If you are a Dynamics CRM ISV or an infrastructure group within a large enterprise then, most likely, you distribute one or more managed solutions to your […]

Tip #442: One WSDL to rule them all

WSDL is your best friend when you’re dealing with non .NET clients, e.g. Java, that need to talk to CRM. Historically, it’s always been a 2-step process: Hit https://crm/XRMServices/2011/Organization.svc?wsdl and get a very small file back usually containing the line Hit https://crm/XRMServices/2011/Organization.svc?wsdl=wsdl0 and get a complete file containing full definitions. Starting from CRM 2013 (or, […]

Tip #440: When package deployment fails, blame the internets

Unblock file

As you probably already know, Dynamics CRM has its own “installer” for the solutions, called Package Deployer. The package folder and assembly are usually distributed in the shape of a zip file that needs to be extracted and then used either with Package Deployer executable or installed using PowerShell. As documented. Usually it all goes […]