Even the best of us are still finding their footing with new shiny CRM Web API. Tipsters to the rescue in another mini truck stop. Andrii “Granny’s Moonshine” Butenko was wondering what is the best way to fetch Global OptionSets using Web API (from now on apiendpoint == https://orgname.crm.dynamics.com/api/data/v8.0): I can get all global optionsets […]
Tip #531: CRM, SPA and CORS walk into a bar
If you wanted to access your CRM from the javascript using web services, the only option until CRM 2016 was to wrap your script as a webresource. That way script is hosted in the same domain as CRM and “rides” authenticated session of your browser. External pages were no go because of the Cross-Origin Resource […]
Tip #528: Execute them all
While our video dude is stuffing himself with turkey (who’d want to listen even to Morgan Freeman with a mouthful of dry meat?), I’d take this Friday to clarify few things about asking CRM server to do few things at once. There are two ways to do it. ExecuteMultiple ExecuteMultipleRequest has been around for quite […]
Tip #525: Solution Export Naming Party Trick
The solution version number is often overlooked as an easy way of keeping backups of your solution separate as you configure CRM. You can number them according to a strict 4-part version numbering (e.g. 1.0.0.1, 1.0.0.2, etc.) but that’s relatively boring and tough to keep consistent. The most straight forward and easy to maintain method […]
Tip #524: Inactive optionsets
One of the advantages of using lookups vs optionsets is the ability to create a “dynamic” set where the available values can be filtered and deactivate when they become obsolete. Optionsets still are very useful because they are easy to set up and use – dropdown as a UI element is all too familiar to […]
Tip #522: Escape CRM Online sandbox
I said it before and I said it again that presenting at the conferences like eXtremeCRM can be a real eye-opener. You quickly learn, for example, that Bob could not make it and you also learn how much people know about CRM. With all the accumulated knowledge it comes as a surprise that some of […]
Tip #489: Limitations of Retrieve plugins
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 #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: […]