Wednesday, January 30, 2013

Unhandled Exception: System.ServiceModel.FaultException: The server was unable to process the request due to an internal error MS CRM 2011, plugin Registraion tool

while i was connecting to PLugin registraion tool i got the below exception...

Unhandled Exception: System.ServiceModel.FaultException: The server was unable to process the request due to an internal error.  For more information about the error, either turn on IncludeExceptionDetailInFaults (either from ServiceBehaviorAttribute or from the <serviceDebug> configuration behavior) on the server in order to send the exception information back to the client, or turn on tracing as per the Microsoft .NET Framework 3.0 SDK documentation and inspect the server trace logs.

initially i was able to use the tool.. not sure why this happened...

Solution
i found the below forum link
http://social.microsoft.com/Forums/eu/crmdevelopment/thread/82a4866d-2d97-4437-bebd-a7db73e661a1

then followed the below and it resolved the issue..

         The error seems to originate from CRM not being able to find theMicrosoft.Xrm.Client.dll file.
After some fiddling, I fixed it by copying the file from theSDK\bin directory to CRMWeb\bin directory.

 
Regards,
Sudhanshu 

ExecuteMultipleRequest Class in MS CRM 2011 SDK in Roll Up 12

there is a great release for MS CRM 2011 developers in UR 12 for MS CRM 2011.
it is ExecuteMultipleRequest, ExecuteMultipleResponse.
This addition to the CRM SDK allows developers to create, update, and delete records in bulk for both on-premise and online deployments.
The following sample shows how to execute the ExecuteMultipleRequest message.
make your eyes open in the below line..
Settings = new ExecuteMultipleSettings()
{
ContinueOnError = false,
ReturnResponses = true
},
here you can set if the process should go when there is a error or not. and also if you want a return values...

there is some performance enhanced with this approach...
u sud have latest role ups (mainly RU 12) installed....
// Get a reference to the organization service.
using (_serviceProxy = ServerConnection.GetOrganizationProxy(serverConfig))
{
    // Enable early-bound type support.
    _serviceProxy.EnableProxyTypes();
 
    #region Execute Multiple with Results
    // Create an ExecuteMultipleRequest object.
    ExecuteMultipleRequest requestWithResults = new ExecuteMultipleRequest()
    {
        // Assign settings that define execution behavior: continue on error, return responses.
        Settings = new ExecuteMultipleSettings()
        {
            ContinueOnError = false,
            ReturnResponses = true
        },
        // Create an empty organization request collection.
        Requests = new OrganizationRequestCollection()
    };
 
    // Create several (local, in memory) entities in a collection.
    EntityCollection input = GetCollectionOfEntitiesToCreate();
 
    // Add a CreateRequest for each entity to the request collection.
    foreach (var entity in input.Entities)
    {
        CreateRequest createRequest = new CreateRequest { Target = entity };
        requestWithResults.Requests.Add(createRequest);
    }
 
    // Execute all the requests in the request collection using a single web method call.
    ExecuteMultipleResponse responseWithResults =
        (ExecuteMultipleResponse)_serviceProxy.Execute(requestWithResults);
 
    // Display the results returned in the responses.
    foreach (var responseItem in responseWithResults.Responses)
    {
        // A valid response.
        if (responseItem.Response != null)
            DisplayResponse(requestWithResults.Requests[responseItem.RequestIndex], responseItem.Response);
 
        // An error has occurred.
        else if (responseItem.Fault != null)
            DisplayFault(responseItem.Fault);
    }

 about performance and analysis follow the below links...
 

Tuesday, January 22, 2013

Merg Record in MS CRM 2011

You can merge two lead, account, or contact records. (so only these records can be merged)

  1. Select a record. Then, press the Ctrl key while you select the second record.
  2. In the Records group, click Merge.
  3. In the Merge Records dialog box, select which record to make the new master record.
  4. Select the fields from each record that you want to include in the master record. Fields that are shaded will overwrite the corresponding unshaded field during the merge operation.
  5. When you are ready to merge the two records, click OK.
  6. When you receive the message The selected records are merged and the subordinate record is deactivated, click OK.
  7. In merge operation the master record will inherit all child record’s of subordinate records. So the winning record will contain all the child records. The subordinate record will be deactivated with no associated records.
Note: When you merge two records, duplicates will not be detected.

1.
 
if you select one record in the Grid, the Merge Button will be enabled and once you will click it, the 1st record will be populated where as the 2nd one will be blank. see the below image
 
 
 
 
2.
if you select one record in the Grid, the Merge Button will be enabled and once you will click it, the 1st and 2nd both records will be populated. see the below image
 
 
 
 
Also there is an option to directly choose the values from two records. If for a field there is value present in both the records then master records value will get selected here. For this user need to select the option shown in the below image.
Regards,
yes.sudhanshu