Tip #422: Search faster by searching less

Ultimate search

I’d like to be able to search contacts by first name and last name. And middle name. And birthday. And employee id. While you’re at it, add spouse name, comments, city, country, phone number (all of them) and freight terms. So, what a smart CRM consultant to do? Open Quick Find Active Contacts view and […]

Tip #410: How to create non-interactive user while saving foot from injury

Non-interactive users (available in CRM Online only) are defined as the users that “… can access the system but only through the Web service”. That makes them perfect for use as integration accounts. That and a small fact that they do not consume a CRM license (in quantities five or less). To create non-interactive user […]

Tip #373: Careful with delete button

As it turns out, Spießrutenlaufen is no longer exclusive developers domain and can be equally applied to the customizers. Shan “Smoke ’em” McArthur reminded all of us (and not for the first time) that it’s not all unicorns and rainbows with managed solutions. If you ever delete a form for the entity that is part […]

Tip #368: Keep your early bound classes lean

The convenience of early bound classes often overshadows the side-effects of using those. It is, indeed, very easy to write: CrmSvcUtil.exe /url:https://myorg.api.crm.dynamics.com/XRMServices/2011/Organization.svc /out:GeneratedCode.cs /username:”myname@live.com” /password:”myp@ssword!” then add generated file to the project and use syntax-checked a.accountname = “Acme Inc” instead of a[“acountname”] = “Acme Inc” (see what I’ve done here to demonstrate the usefulness of […]

Tip #341: Lean and mean UAT

SQL tables & space occupied

One of the most wildly accepted ways to refresh your test database is to copy/redeploy production database back into the test environment. (If you don’t have a test database, go and receive your Spießrutenlaufen, then come back and create the database; if you can still move, that is). Common issue with this approach, however, is […]

Tip #263: Avoid unnecessary plugin execution

Filter the attributes in Visual Studio

Inspired by our rather radical approach to enforcing development discipline, Andre “I’ve got 88 in my handle” Margono decided to pick on another sinful habit in development, this time within plugin development. Corporal punishment triggering behavior this time is to select all attributes as filtering attributes for Update message. Unfortunately, plugin registration tool that comes […]

Tip #236: How to be a time[r] lord

Timer Control

Spring ’14/SP1 release has introduced a number of very exciting features to the customer service functionality of Dynamics CRM including Service Level Agrements and Entitlements. The decision also has been made to introduce Spießrutenlaufen, previously reserved for developers, to the customer service officers. Yes, I’m talking about timer control The other good news is that […]

Tip #230: Ban the browse button

Adding assembly references

I like German words. Take, for example, Spießrutenlaufen. If you like me, and don’t speak a word of German, you know, just by looking, that the word means business, the word means corporal punishment. I often wonder if ignorance of the developers can be cured by introduction of Spießrutenlaufen for coders. Function is longer than […]