XRM Page Model.
The Xrm.Page object serves as a namespace object to consolidate three properties on the form:
Xrm.Page.context
Xrm.Page.context provides methods to retrieve information specific to an organization, a user, or parameters that were passed to the form in a query string.
Xrm.Page.data.entity
Xrm.Page.data provides an entity object that provides collections and methods to manage data within the entity form.
Xrm.Page.ui
Xrm.Page.ui provides collections and methods to manage the user interface of the form.
CRM Enity Properties–
-  Xrm.Page.data.entity.getEntityName()   //Entity
     Name
-  Xrm.Page.data.entity.getId()          
               //Record GUID
-  Xrm.Page.ui.getFormType()             
             //CRM Form Type
     (Integer)
 **Create (1), Update (2), Read Only (3), Disabled (4), Bulk Edit (6)
– Get & Set Text Field—
- Xrm.Page.data.entity.attributes.get(“fld_name”).getValue()
- Xrm.Page.data.entity.attributes.get(“fld_name”).setValue(“First”)
–Get Lookup–
-     
     Xrm.Page.data.entity.attributes.get(“primarycontactid”)
-    
     Xrm.Page.data.entity.attributes.get(“primarycontactid”).getValue()[0].id
-    
     Xrm.Page.data.entity.attributes.get(“primarycontactid”).getValue()[0].name
–Set Lookup–
-  var lookUpValue = new Array();
 lookUpValue[0] = new Object();
 lookUpValue[0].id = idValue;
 lookUpValue[0].name = textValue;
 lookUpValue[0].entityType = ‘{Entity_Name}’;
- Xrm.Page.getAttribute(“primarycontactid”).setValue(lookUpValue);
–Option Set Properties–
-  Xrm.Page.data.entity.attributes.get(“new_country”)
- Xrm.Page.data.entity.attributes.get(“new_country”).getOptions()   //
     All Options
-  Xrm.Page.data.entity.attributes.get(“new_country”).getText()         //
     Option Label value
-  Xrm.Page.data.entity.attributes.get(“new_country”).getValue()       //
     Selected option value
–Hide/Show controls–
- Xrm.Page.ui.controls.get(“name”).setVisible(true/false)
–Disable/Enable controls–
-  Xrm.Page.ui.controls.get(“name”).setDisabled(true/false)
–Set Focus–
- Xrm.Page.ui.controls.get(“name”).setFocus();
–Set field’s Requirement Level–
- Xrm.Page.getAttribute(“name”).setRequiredLevel(“none”);
- Xrm.Page.getAttribute(“name”).setRequiredLevel(“required”);
-  Xrm.Page.getAttribute(“name”).setRequiredLevel(“recommended”);
–Set the label for the control–
-  Xrm.Page.ui.controls.get(“name”).setLabel(“Label Text”);
–Set URL for IFrams/WebResource–
-  Xrm.Page.ui.controls.get(“IFrame/WebResource
     Name”).setSrc(“URL”);
– Get Parent of current control –
-  Xrm.Page.ui.controls.get(“name”).getParent();
– “Current User” &
“Organization” details–
- Xrm.Page.context.getUserId()                     //Current
     User ID
-  Xrm.Page.context.getOrgUniqueName() //Organization Name
-  Xrm.Page.context.getServerUrl()              //Server
     URL
-  Xrm.Page.context.getUserRoles()             //Role
     ID’s of current user
– Check isDirty
- Xrm.Page.data.entity.getIsDirty()  // Form is IsDirty
- Xrm.Page.data.entity.attributes.get(“new_name”).getIsDirty() 
     //Field is IsDirty
–Save Form
- function save(){Xrm.Page.data.entity.save();}
–Save&close Form
- function saveandclose(){Xrm.Page.data.entity.save(“saveandclose”);}
–Close Form
- function close(){Xrm.Page.ui.close();}
–Expand/Collapse Tabs–
- var myTab = Xrm.Page.ui.tabs.get(“{tab_name}”);
- myTab.setDisplayState(“expanded”); // To expand tab
- myTab.setDisplayState(“collapsed”); // To collapse tab
– Hide/Show Tabs & Sections
- var myTab = Xrm.Page.ui.tabs.get(“{tab_name}”);
- myTab.setVisible(True/False);
- var mySec = myTab.sections.get(“{sec_name}”);
- mySec.setVisible(True/False);