Editable Grid for CRM by BusiPlanIT ahanif


I was going through few new articles published in word press and this editable grid is really cool and will be useful for all CRM developers.

Here is the Url of the artcile: https://busiplanit.wordpress.com/2015/08/03/a-free-customizable-editable-grid-for-dynamics-crm-20132015/


Thank you,

Sreeni Pavalla


CRM 2015 XRM Tool box – Do everything with it !!!!


Recently one of customer asked us to give attributes list of each and every entity and other things like.

  •  Enabled for Advanced find
  • Enabled Field Level Security
  • Location on form
  • Data type

Then we found an article which with few details which can be done through XRM tool box.

We have been using XRM tool box from several days.. But we are not aware that this will come handy to fullfill our requirement.


There is something called.. Metadata Document generator which will pull all the attributes and its other properties like below

Click on  Retrieve entities and languages which will list you all the entities in the sysytem.


Select entities for which you want to generate the document with attributes and other properties, before that specify the location of the file where it should generate.

Check the checkbox like Audit, field level security and others as per your requirement.


Click on Generate document. Then open the excel once you get successful confirmation.


You have everything in few minutes. Thats the beauty of XRM tool box.

Will post more articles on XRM tool box. Your suggestions or comments are highly appreciated..

Thank you,

Sreeni pavalla

CRM 2015 Update 1 is out!!!

Hi ,

CRM 2015 update 1 is out now. If you create a trial it will come with Update 1.

I am not sure it will come with update 1 if country selected as INDIA but i have tried for USA and Australia as on (9th May 2015).

Look into coolest features of CRM 2015 Update 1.

Below links will help you

Thank you,

Sreeni Pavalla

Upsert Method – CRM 2015 Update 1


There is a new method named Upsert is introduced which will come handy when we are working data.

Upsert = Update or Insert.

This reduces the complexity of data operation. In situations we may not know that we should update or insert as we are not sure.

By using Upsert method,

 UpsertRequest request = new UpsertRequest() { Target = account };
 UpsertResponse response = (UpsertResponse)service.Execute(request);

Understanding the Upsert process

The following steps describe the processing logic when an UpsertRequest is received:

  1. Send UpsertRequest with enough data for a create or insert operation.
  2. CRM will look up the record targeted by the target entity.
  3. If the record already exists,
    1. Set the ID property of the target entity with the ID of the found record.
    2. Call Update.
    3. Set the RecordCreated to false
    4. Create an EntityReference from the target entity of the update as the value for Target
    5. Return the UpsertResponse
  4. If the record does not exist
    1. Copy any alternate key values into the target entity attributes.
    2. Call Create.
    3. Set the RecordCreated to true
    4. Create an EntityReference from the target entity type and the ID result of the Create request as the value for Target.
    5. Return the UpsertResponse

    For more information: http://www.kingswaysoft.com/blog/2015/04/16/New-CRM-SDK-Feature—Upsert

    Thank you,

    Sreeni Pavalla

Update advanced Settings(AggregateQueryRecordLimit,ExecuteMultipleMaxBatchSize and etc)


Here is the way to Update advanced settings. Fro example: Default batch size of Execute multiple request is 1000, In some cases we may need to update to more than 1000.

It can be updated through


Here is the complete code which can help you.

DeploymentServiceClient service = Microsoft.Xrm.Sdk.Deployment.Proxy.ProxyClientHelper.CreateClient(new Uri(“http://crmtest/XRMDeployment/2011/Deployment.svc”));

RetrieveAdvancedSettingsRequest request3 = new RetrieveAdvancedSettingsRequest()
ConfigurationEntityName = “Deployment”, ColumnSet = new ColumnSet(false)
RetrieveAdvancedSettingsResponse response3 = (RetrieveAdvancedSettingsResponse)service.Execute(request3);
ConfigurationEntity configEntity = response3.Entity;

ConfigurationEntity entity = new ConfigurationEntity();
entity.LogicalName = “Deployment”;
entity.Attributes = new Microsoft.Xrm.Sdk.DeploymentAttributeCollection();
entity.Attributes.Add(new KeyValuePair<string, object>(“ExecuteMultipleMaxBatchSize”, 50000));

UpdateAdvancedSettingsRequest request2 = new UpdateAdvancedSettingsRequest();
request2.Entity = entity;

Thank you,

Sreeni Pavalla

CRM 2015 – Javascript issues with Tablet (Ipad and etc)


I have been working on tablet one of the projects. I have come through some of the changes where JavaScript doesn’t support in Tablet.

So to differentiate, Have you JavaScript checked for client.

if (Xrm.Page.context.client.getClient() == “Mobile”)
//Write your logic here for Tablets
//Rest of code goes for Web and others.

Methods writeen for CRM may throw errors for Tablets. Sometime they may not throw an error, But they will not return anything.

The following list should help you understand what to expect. For specific details see the developer documentation topics within the Client-side programming reference.

  • Using window.alert, window.confirm, window.prompt or any other code that blocks code execution while waiting for a user’s response will not work as expected or will display an error. These methods should not be used in scripts that will be used in CRM for tablets.
  • Because tabs displayed in CRM for tablets cannot be expanded or collapsed, code to expand or collapse them will not work and code that is configured for event handlers using these events will not be executed.
  • Because web resources and IFRAMES in forms are not displayed in CRM for tablets any of the methods provided to interact with them will not work and code that is configured for event handlers using these for the events called when these items load will not be executed.
  • Because CRM for tablets does not provide the ability for a user to switch to different forms, those methods that enable this in the web application will not work.
  • Any methods that allow for showing or navigating to related entities in the web application will not work.
  • Methods that would refresh the command bar, get dimensions of the view port, or close a form window will not work.

this article has pretty good information about tablets.

Thank you,

Sreeni Pavalla

Limitations of Execute multiple request


Here are few limitations of execute multiple request.

1. Cannot invoke  execute multiple inside execute multiple.

2. Batch size limit is 1000. If you add more than 1000 it will throw a fault exception.

3. Only 2 concurrent executions can happen at a time, If you try running 3rd one, It will throw an exception saying “Server busy”

Defult batch size can be updated using UpdateAdvancedSettingsRequest. Here is the blog whichwill help you to update.


Hope it helps..!

Thank you,