Thursday, 23 May 2013

Useful Java Script in Mscrm 2011

Xrm.Page.ui.getFormType()
Return Value
Type: Number The following table lists the form types that correspond to the return value.

 

Value Form Type
0Undefined
1Create
2Update
3Read Only
4Disabled
5Quick Create (Deprecated)
6Bulk Edit
11Read Optimized
Example: The SDK.UISamples.getFormType alerts the user with a different message depending on the current form type.
JScript
SDK.UISamples.getFormType = function () {

 var FORM_TYPE_CREATE = 1;
 var FORM_TYPE_UPDATE = 2;
 var FORM_TYPE_READ_ONLY = 3;
 var FORM_TYPE_DISABLED = 4;
 var FORM_TYPE_QUICK_CREATE = 5;
 var FORM_TYPE_BULK_EDIT = 6;
 var FORM_TYPE_READ_OPTIMIZED = 11;

 var formType = Xrm.Page.ui.getFormType();
 if (formType == FORM_TYPE_CREATE) {
  alert("This record has not yet been created.");
 }
 else {
  alert("This record exists in the database.");
 }
};
 
 
Get the value from a CRM field
var value = Xrm.Page.getAttribute(“CRMFieldSchemaName”).getValue();
Set the value of a CRM field
Xrm.Page.getAttribute(“CRMFieldSchemaName “).setValue(“New Value”);
Get the value from a CRM OptionSet field
var value = Xrm.Page.getAttribute(“CRMOptionSetSchemaName”).getValue();
Get the text from a CRM OptionSet field
var text = Xrm.Page.getAttribute(“CRMOptionSetSchemaName”).getText();
Set the value of a CRM OptionSet field
Xrm.Page.getAttribute(“CRMOptionSetSchemaName”).setValue(“1″); // OptionSet Value
Get the selected text of a CRM OptionSet field
Xrm.Page.getAttribute(“CRMOptionSetSchemaName”).getSelectedOption().text;
Get the selected value of a CRM OptionSet field
Xrm.Page.getAttribute(“CRMOptionSetSchemaName”).getSelectedOption().value;
Get the text and value of a CRM Lookup field
var lookupObject = Xrm.Page.getAttribute(“CRMLookupSchemaName”).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 = “EntitySchemaName”;
lookupData[0] = lookupItem;
Xrm.Page.getAttribute(“CRMLookupSchemaName”).setValue(lookupData);
Disable CRM field
Xrm.Page.ui.controls.get(“CRMFieldSchemaName”).setDisabled(true);
Hide CRM field
Xrm.Page.ui.controls.get(“CRMFieldSchemaName”).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(“CRMFieldSchemaName”).setRequiredLevel(“required”);
Xrm.Page.getAttribute(“CRMFieldSchemaName”).setRequiredLevel(“none”);
Xrm.Page.getAttribute(“CRMFieldSchemaName”).setRequiredLevel(“recommended”);
Set Focus on a field in CRM
Xrm.Page.ui.controls.get(“CRMFieldSchemaName”).setFocus(true);
Cancelling Onsave Event in CRM
event.returnValue = false;
return false;
Check IsDirty in CRM field
var isDirty = Xrm.Page.getAttribute(“CRMFieldSchemaName”).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(“CRMFieldSchemaName”).setSubmitMode(“always”);
Preventing an attribute to be saved in CRM form
Xrm.Page.getAttribute(“CRMFieldSchemaName”).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 Schema 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();