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

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