It may come as a surprise but when a contact is created as a side-effect of another operation, e.g. qualifying a lead or processing incoming message with contact auto-create in force, pre-validation plugin does not fire at all. It happens when operation performed is a compound message such as QualifyLeadRequest or DeliverPromoteEmailRequest. This behaviour, unintuitive […]
Tip #134: How to block click-to-call in CRM
People would like to have an option to switch click-to-call functionality off. Unfortunately, none of the suggestions is going to work. Why? Because this functionality relies on URL protocols skype: (for Skype) and tel: (for Lync). You can try fooling the system by deregistering protocols, fiddling with the registry, disabling addins, blocking addins, directing to […]
Tip #107: Use metadata browser to find status reason
While working on the solution for stuck emails, I needed values for various status reasons for email entity to intelligently hide/display RESEND button depending on email record status. Quick look in local SDK help yielded zilch. Online version – bupkis. Hmmm, I do remember metadata pages in 2011… Ah, here it is and, indeed, there […]
Tip #106: Resend stuck emails
We use email router to send outbound CRM emails via Office 365 accounts. In our configuration email router is set to use user’s credentials, i.e. we need to enter our O365 passwords in user settings in CRM. When password in O365 expires, people (read: me) simply forget to adjust passwords in CRM, especially those for […]
Tip #98: CRM SDK is now online
In case you don’t spend your afternoons lazily browsing MSDN pages online and missed this news, CRM SDK is now available online. Is it such a big deal? Not really, because you can always download latest SDK but Online version is always up-to-date When in need of a reference whilst discussing development topics, we can […]
Tip #90: Simulate OnLoad event for form updates
As some people noticed, in CRM 2013 OnLoad event handlers are not firing after save of the form. This is by design as form saves and refreshes are now granular. That means that some of the code migrated from 2011 may not work as expected if it relies on OnLoad event being fired after every […]
Tip #84: What a difference a date makes
At Convergence 2014, the tipsters participated in some “Ask the MVP” sessions. There were many great questions, but one question kept coming up time and time again, no matter whether the session was for administrators or developers. That’s right: how to deal with timezones when date-only field is used. Since our tipping truck is a […]
Tip #72: Granular notifications for end users
Today’s tip was supposed to be called “Why it’s very important to keep your SDK up to date” but instead I named it after the updated functionality that was added to CRM Online, released for onpremises in UR1 and documented in the December update of the SDK. Previously, if you wanted to notify user about […]
Tip #63: Execute javascript code during debug session
There are times when you want to quickly test out a piece of form Javascript code in the Developer Tools console. Microsoft Dynamics CRM 2013 renders form content in frames and you have to prefix frames[0] or frames[1] to “Xrm.” to get the code running. In Chrome you can choose the target frame that you […]