CRM Client Side Scripts


Get the value from a CRM field

var value = Xrm.Page.getAttribute(“CRMFieldLogicalName”).getValue();

Set the value of a CRM field
Xrm.Page.getAttribute(“CRMFieldLogicalName”).setValue(“New Value”);

Get the value from a CRM OptionSet field
var value = Xrm.Page.getAttribute(“CRMOptionSetLogicalName”).getValue();

Get the text from a CRM OptionSet field
var text = Xrm.Page.getAttribute(“CRMOptionSetLogicalName”).getText();

Set the value of a CRM OptionSet field
Xrm.Page.getAttribute(“CRMOptionSetLogicalName”).setValue(“1″); // OptionSet Value

Get the selected text of a CRM OptionSet field
Xrm.Page.getAttribute(“CRMOptionSetLogicalName”).getSelectedOption().text;

Get the selected value of a CRM OptionSet field
Xrm.Page.getAttribute(“CRMOptionSetLogicalName”).getSelectedOption().value;

Get the text and value of a CRM Lookup field
var lookupObject = Xrm.Page.getAttribute(“CRMLookupLogicalName”).getValue();
lookupObject[0].name; // text of lookup
lookupObject[0].id; // Guid of lookup

Set the value of a CRM Lookup field
var lookupData = new Array();
var lookupItem = new Object();
lookupItem.id = “4A2A54CB-349C-E111-8D26-1CC1DEE8DA78″; // Guid of record
lookupItem.name = “New Contact”; // Entity record name
lookupItem.entityType = “EntityLogicalName”;
lookupData[0] = lookupItem;
Xrm.Page.getAttribute(“CRMLookupLogicalName”).setValue(lookupData);

Disable CRM field
Xrm.Page.ui.controls.get(“CRMFieldLogicalName”).setDisabled(true);

Hide CRM field
Xrm.Page.ui.controls.get(“CRMFieldLogicalName”).setVisible(false);

Hide a Tab in CRM
Xrm.Page.ui.tabs.get(“tabName”).setVisible(false);

Hide a Section in CRM
var tab = Xrm.Page.ui.tabs.get(“tabName”);
tab.sections.get(“sectionName”).setVisible(false);

Set the Requirement level in CRM
Xrm.Page.getAttribute(“CRMFieldLogicalName”).setRequiredLevel(“required”);
Xrm.Page.getAttribute(“CRMFieldLogicalName”).setRequiredLevel(“none”);
Xrm.Page.getAttribute(“CRMFieldLogicalName”).setRequiredLevel(“recommended”);

Set Focus on a field in CRM
Xrm.Page.ui.controls.get(“CRMFieldLogicalName”).setFocus(true);

Cancelling Onsave Event in CRM
event.returnValue = false;
return false;

Check IsDirty in CRM field
var isDirty = Xrm.Page.getAttribute(“CRMFieldLogicalName”).getIsDirty();
alert(isDirty); // returns true if the field is dirty

Check IsDirty for all the fields in CRM
var isDirty = Xrm.Page.data.entity.getIsDirty();
alert(isDirty); // returns true if any of the field is dirty in the entire form.

Force Submit a read only field in CRM
Xrm.Page.getAttribute(“CRMFieldLogicalName”).setSubmitMode(“always”);

Preventing an attribute to be saved in CRM form
Xrm.Page.getAttribute(“CRMFieldLogicalName”).setSubmitMode(“never”);

Get Unique Organization Name in CRM
Xrm.Page.context.getOrgUniqueName();

Get Server url in CRM
Xrm.Page.context.getServerUrl();

Get the record Id in CRM
Xrm.Page.data.entity.getId();

Get the User Id in CRM
Xrm.Page.context.getUserId();

Get the Entity Logical Name in CRM
Xrm.Page.data.entity.getEntityName();

Get the UserRole Id’s in CRM
var userRoles = Xrm.Page.context.getUserRoles();
for (var i = 0; i < userRoles.length; i++)
{
var userRole = userRoles[i]; // returns the Role Id
}

Get the Form Type in CRM
Xrm.Page.ui.getFormType();

Form Types in CRM
Is the user creating a new record?
Xrm.Page.ui.getFormType() == 1

Is the user updating an existing record?
Xrm.Page.ui.getFormType() == 2

Is the user unable to update this record?
Xrm.Page.ui.getFormType() == 3

Is this record deactivated?
Xrm.Page.ui.getFormType() == 4

Is the user using the Quick Create form?
Xrm.Page.ui.getFormType() == 5

Is the user using the Bulk Edit form?
Xrm.Page.ui.getFormType() == “6″

Save a record in CRM
Xrm.Page.data.entity.save(); // for saving a record
Xrm.Page.data.entity.save(“saveandclose”); // for save and close
Xrm.Page.data.entity.save(“saveandnew”); // for save and new

Close the form in CRM
Xrm.Page.ui.close();

Open EntityForm in CRM

Xrm.Utility.openEntityForm(“opportunity”, Xrm.Page.data.entity.getId());

Get all Active process Stages

var ProcessStages = Xrm.Page.data.process.getActiveProcess().getStages().getAll();

Set Business process Satage

Xrm.Page.getAttribute(“stageid”).setValue(ProcessStages[0].getId());