Tip #1248: Stop using OrganizationProxy

"Do not block exit" sign on a mesh metal fence

One of the topics discussed during the MVP Summit 2019 was the brexit of SOAP API. I thought we dealt with it already but there is an additional small but important message: Stop using OrganizationProxy Matt “Platform Deity” Barbour Hold on, you may ask, didn’t you tell us that IOrganizationProxy is fine? Yes, it is, […]

Tip #1245: Tops and bottoms in April ’19 Release

Tops & Bottoms book cover by Janet Stevens

It’s great to see the team advising us in advance about the upcoming features in the April ’19 Release Notes. As with any forward document, it is a living and breathing beast. Some features are being postponed, some replaced, new stuff added. Some of the late-comers are new FetchXML operators. How often you wanted to […]

Tip #1236: Review RetrieveMultiple plugins before migrating to Unified Interface

Man looking into microscope

It’s not uncommon to register a plugin on RetrieveMultiple message and fiddle with the output, e.g. drop some values, add some calculations, etc. Chances are that you are changing the QueryExpression, and the plugin is working fine in the classic UI but you will have challenges migrating to Unified Interface. The reason is that in […]

Tip #1211: Mixing entities to build complex views

whisk on saucepan with organic eggs

The trick to get developers to get your job done for free is to challenge them. Which is exactly what Steve “Mr SMB” Mordue has done. Challenge I am trying to create a view of activities, that will show all activities performed by anyone on my team. I know I can create specific view that […]

Tip #1209: Embedding canvas apps in model-driven forms

Assorted wooden frames

For those of us who were continuosly torn between canvas apps (on yer device, pixel-perfect, task-oriented) and model-driven apps (a.k.a. good ol’ forms, views, you know, all that Dynamics 365/CRM stuff), the wait is finally over. Embedding canvas apps in model-driven forms is now available as Public preview. First, the official part. Makers can now extend […]

Tip #1198: Add email address to recipients in javascript

Six colorful mailboxes in a row

The advantage of having access to friendly brainpower is that the problems are getting resolved much quicker. The disadvantage is that it breeds inattentive coding. Daryl “Always Raising” LaBar almost threw in a towel but recovered and redeemed himself with the snippet how to add an arbitrary email address to the list of the email recipients […]

Tip #1179: Add a dash of dash to your autonumbering

Salt bae

&tl;dr Jonas “The Shuffler” Rapp reports: when modifying autonumbering for built-in entities like case, always include a dash in the pattern to stop Dynamics 365 from self-combusting. Long story One of the awesome users of the Auto Number Manager for XrmToolBox managed to break the system settings for Auto Numbers in Dynamics 365, so he […]

Tip #1167: Impersonation does not grant extra powers

Anonymous mask

I did write before about impersonating users. It’s a very straightforward “manoeuvre” and is commonly used when there is a service account (could be either non-interactive user or, better, application user) that needs to act as a specific user. There is even a built-in role Delegate which contains an absolute minimum set of privileges required […]

Tip #1159: Run your script after business rules

Queue

Dynamics 365/CRM customizations inflicted by a customer are always fun. How can I tell their customizations apart? Easy, by the new_ prefix. Where things get really complicated if the customer later asks you to do something they are not sure how to. Just recently I was asked to stop couple fields from being locked if […]