MSCRM Solution Come, Learn and Share

By: Amit Choudhary | October 30, 2015

In high transaction CRM system, it is often possible that two users are working on same record and updating record at the same time. This might result in data loss. For example, you opened a contact record and trying to update Mobile number for that contact. At the same time, another user opened record and trying to update Last Name. Suppose they both clicked the save button at almost same time. What will happen? The update request which reaches later will be the end result of data. So the first update request will get lost. 

To avoid these kind of scenarios Microsoft introduced Optimistic Concurrency with CRM 2015 Online Update 1. This feature is not yet available for CRM on premise.

How to enable Concurrency Behavior for Entities:


By: Amit Choudhary | October 25, 2015

From performance point of view, isn't it a good idea to know the average execution time for CRM Plugin?

Well, if we know the Avg execution time for the plugin, it might be easier to nail down some performance issues. Below is the query to find out Avg execution time for CRM Plugin:

SELECT PTB.Name, AverageExecuteTimeInMilliseconds, FailureCount, FailurePercent, ExecuteCount

FROM PluginTypeStatisticBase PTSB

JOIN PluginTypeBase PTB on PTSB.PluginTypeId = PTB.PluginTypeId

ORDER BY AverageExecuteTimeInMilliseconds

However, the above query will only work for those plugins, if plugins are registered in Sandbox isolation mode.

By: Amit Choudhary | October 25, 2015

When CRM plugin runs in response to a registered execution pipeline event, IPluginExecutionContext class contains information about the information related to the execution pipeline and entity business information. The context provides Input Parameters. It also provides Pre-Image and Post-Image, if these are configured during plugin registration. So what is the difference between Input Parameters and Pre-Image? When to use what?

Here is the difference between Input Parameters and Pre-Image?

Input Parameters property bag will only contain modified attributes during that transaction. However, Pre-Image/Post-Image will contain all those attributes which were selected while registering the plugin regardless attributes got modified or not. 



MoCA Offline

Unmapped profiles

CRM organization import

Input Parameters

CRM Plugin

Plugin context

Outlook Client

Outlook Client Statistics


Plugin execution time

Debug Javascript

Debug Javascript in MoCA

Optimistic Concurrency




Dynamics CRM 2016

new capabilities in CRM 2016

CRM 2016 Release Preview

What's new in CRM 2016

What's coming in CRM 2016

CRM 2016 Release Notes

CRM Online

CRM On Premise

Online vs On Premise

Online and On Premise comparison

CRM 2015

Stored Procedure

Out of the Box Stored Procedure

OOTB Stored Procedure




Xrm Snippets

CRM JavaScript


Full Text Search


CRM 2015 UR1

Everything about Full Text Search

Multi Entity Search Performance issue

Enable Full Text Search in CRM


CRM Interview Question

Interview Question

Interview Questions

MSCRM Interview Question

Microsoft CRM Interview Question

Configure columns for Multi Entity Search

Multi Entity Search

Configure View Columns

View Columns for Multi Entity Search

Configure Global Search view

configure view Columns

Dynamics 365

Dynamics 365 Update 1

8 2 1

Data Import

Data Import permission

MSCRM Data Import


MSCRM Import

MSCRM Data Import privileges

MSCRM Data Import Security Role

Business Process Flow

Business Process Flow Enhancements

Business Process Flow with Dynamics 365

CRM 8 2 1 Business Process Flow

Dynamics 365 Business Process Flow

Concurrent Business Process Flow


Generic WebApi library for CRM

WebApi for CRM

WebApi library for CRM



Webpi for Dynamics CRM

WebApi for Dynamics 365

Generic library

generic Web Api

Business Process Flow issues

Business Process Flow issues and solution

Dynamics 365 Business Process Flow issues

Upgrade Plugin to Sandbox Mode


Sandboxed Plugins

Move Plugins to Sandbox Mode

Move Plugins to Sandbox Mode Customization xml

Customization xml edit for Plugin

Move None to Sandbox

Move None to Sandbox CRM Plugin

last login date

last access date

last access time

user access

user access audit

last login time

CRM last login date

CRM last access date

CRM last access time

CRM user access

CRM user access audit

CRM last login time

User Access Online

Last Login CRM Online

Default Business Process Flow

Default Process Flow on Load

Default Business Process Flow On Load

Default Business Process Flow on Create

Default Process flow on Create

ADX Portal

ADX Portal Source code

Microsoft Dynamics 365 Portals

Dynamics 365 Portals



Unsupported Code

Delete Reports

Delete Reports form CRM

Delete Managed Reports

Delete Out of the Box Reports

Delete CRM Reports

Unsupported CRM Code

Dynamics 365 WebAPI

Dynamics 365 WebAPI update lookup

Update Lookup WebAPI

WebAPI for CRM Update

Update Lookup CRM WebAPI

Update Customer lookup via webapi

Update Regarding lookup via WebAPI