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 #1145: Tracing in Azure Functions MkIII

Tracing

This never ends. Shortly after I finished writing about tracing in Azure Functions, I found Daryl “Always Raising” LaBar explaining how to use ExtendedOrganizationService wrapper to easily capture everything in your plugin: Wouldn’t it be nice for debugging if your plugins automatically traced every IOrganzationService Request, along with the parameters and the time that it […]

Tip #1135: For plugins, use SDK with the same or below the server version

Mismatch

Problem Another week, another challenge from Guido “Future Olive Farmer” Preite: I created a plugin for one Online instance (version 8.2.2.1862),  I created a class library project with .NET 4.5.2 and with nuget I installed the Microsoft.CrmSdk.CoreAssemblies version 9.0.2.3 I registered the plugin and I always get this error: Unhandled Exception: System.ServiceModel.FaultException`1[[Microsoft.Xrm.Sdk.OrganizationServiceFault, Microsoft.Xrm.Sdk, Version=8.0.0.0, Culture=neutral, […]

Tip #1034: Set Yourself Up For Efficient Importing

Prepare for import

Importing into Dynamics 365 can be concerning to even the most hardened of CRM consultants. Often, if we are importing into a production system, we have tight schedules to get in and out before the users log in. If we are still importing data when the users come online, the system can be unacceptably slow […]

Tip #758: When users are unable to save personal views

Private property keep out

tl;dr When no one in your organization including system administrators can create or update personal views, check that you don’t have any plugins registered on all entities to run in a context different from a calling user. Mundane details Symptoms: when personal views are created or updated, all users including system administrators receive the following […]

Tip #729: Mapping fields in N:N relationship

Nonmonogamy relationships

Normal out-of-box CRM relationship mapping can be extremely beneficial, but it has a very big “gotcha”. They only work when creating a child entity from the parent form. So if the user is on the parent entity form, and adding a new entity via a grid, then the mapping will automatically be populated for the […]

Tip #676: Keep your pants on and timestamps intact

Illusion of integrity

Let’s say you have a field that requires complex calculations that are impossible to express as a calculated field. For example, the requirement could be to figure out the “real” full name for a contact taking into account the country, ethnicity, contact’s preferences, their royal title, and a phase of the moon. The first reaction […]

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 […]