Useful CRM 2011 JScript Syntaxes
XRM.Page Model diagram
Xrm.Page Model
The Xrm.Page object serves as a namespace object to consolidate three properties on the form:
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 provides an entity object that provides collections and methods to manage data within the entity form.
Xrm.Page.ui provides collections and methods to manage the user interface of the form.
Syntaxes
— “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);
— Clear the Lookup
- To clear the lookup field value, set with ‘null’
- Xrm.Page.getAttribute(lookupAttribute).setValue(null);
—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);
— Get current form properties if you have multiple forms
- var item = Xrm.Page.ui.formSelector.getCurrentItem();if (item != null) {var itemId = item.getId(); // Form GUID
var itemLabel = item.getLabel(); // Form Name
}
- Note – If your entity has only one form defined, “getCurrentItem()” will return null so the “item” become “null”
—Look up window customizations (Unsupported)
We can perform below customization actions on the lookup dialog window using JScript
– Disable the “View Selection” dropdown
– Hide the “New” button
– Hide the “Search” textbox (i.e.,Quick search)
//To hide “New” button
crmForm.all.attr_name.AddParam(“ShowNewButton”, 0);
// To hide “New” button – Post UR 13
var lookupControl = Sys.Application.findComponent(“attr_name”);
if (lookupControl != null){
lookupControl._element._behaviors[0].AddParam(“ShowNewButton”, 0);
}
//To disable “View Selection” dropdown
document.getElementById(“{attr_name}”).setAttribute(“disableViewPicker”, “1”);
//To hide “Search” textbox
document.getElementById(“{attr_name}”).setAttribute(“disableQuickFind”, “1”);
After applying the script (i.e., After placing the above lines in form onload event), the lookup window looks as below
Customized lookup dialog
Quick Reference :-
Great post on the difference B/W CRM 4.0 syntaxes Vs CRM 2011 syntaxes
Leave a Reply Cancel reply
Stats
- 1,558,539 hits
Tweets
- RT @ManuelaPichler_: I suffered a concussion last week, and I'm so glad to see this video is actually REAL and not just something my brain… 4 days ago
- RT @TaikiYoshidaEN: Awesome to see we have a shiny new public facing website for Power CAT! 😻😻😻 microsoft.github.io/powercat/ #PowerApps #PowerA… 1 week ago
- RT @ravichada: 🎥 The demo video is ready now. Do check out the Dataverse Security Roles risk assessment tool in action. Leave a comment or… 1 week ago
- RT @ManuelaPichler_: CoE kit but make it more fluent-y #comingsoon https://t.co/kcSzPqwZhM 1 week ago
- New Blog Post: C# Basics | Why Interfaces rajeevpentyala.com/2023/01/07/c-b… 4 weeks ago
Top Posts
- Power Apps component framework (PCF) - Beginner guide
- Auto generate new GUID for ‘uniqueidentifier’ column in SQL Table
- [Code Snippet] Custom Workflow Activity with Input and Output Params
- [Step by Step] Postman tool with Microsoft Dataverse Web API
- [Step by Step] Connecting to Azure SQL Server using OLEDB Connection from SSIS
- [Step by Step] Model-driven apps | In-app notifications
- Azure DevOps (ADO) | Pipeline failure | You need the Git 'GenericContribute' permission
- Associate/Disassociate plugin messages in CRM
- Power Apps - 'Environment Variables' and their usage in Canvas Apps
- Power Automate Flows | 'Callback Registration Expander' System Jobs stuck at 'Waiting For Resources'
Great list of JS syntaxes! Exactly what I was looking for.
Thanks
I’m looking to hide the New button on a particular lookup dialog, but I am not sure where the event hooks are, can you point me in the right direction?
on onload() event of form’s jscript…Place below statement
//To hide “New” button
crmForm.all.{lookup_fldname}.AddParam(“ShowNewButton”, 0);
I’ll try it out, thanks a bunch!
how to hide “properties” button on the lookup window. This script working for only “new” button. how to hide or disable properties button
how to hide “properties” button on the lookup window. This script working for only “new” button. how to hide or disable properties button
This was both helpful and very convenient. Nice!
Hi,
I have written the JavaScript code for crm 2011, but after crm upgradation to 2013,
that code not working in crm 2013. After up-gradation to crm 2013 the lookup is missing its multi value functionality.
so i need to change below code:
document.getElementById(“new_product”).setAttribute(“lookupstyle”, “multi”);
Thanks in advance
Hi Rajeev,
we are using crm 2013. we have written some scripts for customization. in these scripts
we have used selectNodes(), selectSingleNode() functions. what are the replacements for selectNodes(), selectSingleNode() functions in XrmServiceToolKit. and how to use them in crm 2013.
if you have any information regarding this, please help me.
thanks in advance,
Nagaraju
Hi,
Did u try the XRMServiceToolKit Beta for CRM 2013?
Nice article bro.
Thanks in Advance