Calculated fields is one of the best new features and is indispensable for simple calculations. Keyword here is simple. Range of functions available in calculated fields is limited (though it continues to expand from release to release). One of the “traditional” methods to add calculated field is to add a simple field and then create […]
Tip #486: Don’t hard code currency in workflows
If you have a workflow dealing with the entities that include money fields, avoid setting explicit currency. Instead, try to infer the currency from the related records. For mere mortals, it’s just a bad practice, for ISVs, it’s definitely a case of spießrutenlaufen. Why? Because if you activate your workflow and add it to a […]
Tip #485: And inactive sneaks in
All entities in CRM have status and status reason fields. Status is either Active or Inactive (system entities, in fact, can have more than that but that’s not the subject of this tip), while status reason can hold multiple customizable values for each status. For example, if we have a custom entity Project, we’d want […]
Tip #475: Keep CRM form tidy with hidden OneNote sections
After the very detailed OneNote introduction by Pablo “CRMGamified” Peralta, the only features that are left to cover are undocumented or pure bugs. I’m not quite sure which category the discovery belongs to. As you know by now, sections in OneNote notebook map quite nicely into the list of sections in Dynamics CRM. However, if […]
Tip #471: What will stop your form from closing
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
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.
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 #456: Smart contact filtering
One of the challenges of using Dynamics CRM in small businesses is that business owner tends to own everything. What did it mean for one of our customers who had Microsoft Dynamics CRM for Outlook installed? The default filter, as you know, is “My Contacts”, i.e. contacts “owned by me”, and she owned all CRM […]
Tip #451: Locking field in business rule can be tricky
Empowering users in Dynamics CRM is great but one needs to be prepared to troubleshoot adventures of a power user. If you have a rule that locks the field when certain conditions are met, beware what happens when this field is editable. That’s right, the last edit will be lost. Why? because locking the field […]