Monday 26 October 2015

Associate Records with the Record of Different Entity using java script


Hi All,

As a very common requirement, I was asked to implement the functionality to associate a record in CRM 2015 just to associate the existing record to the record of different entity.

To get this work done First you need to add SDK.REST.js library to your script.

Link to download Sdk.Rest

Then copy paste this code and pass the parameter value as required.

function associateRecord (parentId, childId) {

           SDK.REST.associateRecords(
                                          parentId,                                  //Guid of parent record
                                         "new_contactlist",                       // Schema Name of Parent Entity
                                          "new_contactlist_sevaprofilenew",  //Relationship Schema Name
                                          childId,                                    // Guid of Child Record
                                          "new_sevaprofilenew",             // Schema Name of Child entity
           
                       function () {
                                        alert("Association successful.");
                                        },
                       function () {
                                      alert("Record Already Found");
                                     });
        }

To get a lookup record of parent Entity in your script .

Please refer my previous Blog
http://crmpankaj.blogspot.in/2015/10/create-custom-dialog-lookup-values-for.html

Hope this would be very helpful to you in your development.

Create a custom Dialog Lookup Records For an Entities on button click.

One feature of Dialogs is the ability to prompt the user for a record to interact with i.e. prompt for a lookup response.

This blog fulfil the Requirement Like we have a custom Button on the Form/Ribbon and onclick of this button i need to create a lookup for an Entity which looks similar to CRM Lookup.

Here is the code which i have used to get the solution.


var url = "/_controls/lookup/lookupsingle.aspx?objecttypes=" + objectTypeCode;
var DialogOptions = new Xrm.DialogOptions();
DialogOptions.width = 500;
 DialogOptions.height = 300;
Xrm.Internal.openDialog(Mscrm.CrmUri.create(url).toString(), DialogOptions, null, null, returnDialogResponse);

objectTypeCode:- You Need to provide a objectTypecode value of the Entity on which Entity the lookup is going to be created But I Recommend to get the "objectTypecode" dynamically by passing Schema Name of the Entity because when the solution is Export/Import then this Entity objectTypeCode may differ from different Machine.

Here i am providing a method which help you to get the objectTypeCode of an Entity by passing the Schema Name of an Entity.

 function getEntityObjectTypeCodeByName(entitySchemaName) {

            try {
                var lookupService = new window.parent.RemoteCommand("LookupService",                                           "RetrieveTypeCode");

                lookupService.SetParameter("entityName", entityName);

                var result = lookupService.Execute();

                if (result.Success && typeof result.ReturnValue == "number") {

                    return result.ReturnValue;

                } else {
                    return null;
                }
            } 
          catch (e) {
                alert("Error getting ETC by Name – " + e.description);
            }
        }

Hope this will be Helpful in your CRM custom development.