JAVASCRIPT REFERENCE
17. Disable a field:
|
1
2
3
4
|
function SetEnabledState() {
var AddressType = Xrm.Page.ui.controls.get("address1_addresstypecode");
AddressType.setDisabled(true);
}
|
18. Force Submit the Save of a Disabled Field:
|
1
2
|
// Save the Disabled Field
Xrm.Page.data.entity.attributes.get("new_date1").setSubmitMode("always");
|
19. Show/Hide a field:
|
1
2
3
4
|
function hideName() {
var name = Xrm.Page.ui.controls.get("name");
name.setVisible(false);
}
|
20. Show/Hide a field based on a Bit field
|
1
2
3
4
5
6
7
8
9
|
function DisableExistingCustomerLookup() {
var ExistingCustomerBit = Xrm.Page.data.entity.attributes.get("new_existingcustomer").getValue();
if (ExistingCustomerBit == false) {
Xrm.Page.ui.controls.get("customerid").setVisible(false);
}
else {
Xrm.Page.ui.controls.get("customerid").setVisible(true);
}
}
|
21. Show/Hide a nav item:
Note: you need to refer to the nav id of the link, use F12 developer tools in IE to determine this
|
1
2
3
4
|
function hideContacts() {
var objNavItem = Xrm.Page.ui.navigation.items.get("navContacts");
objNavItem.setVisible(false);
}
|
22. Show/Hide a Section:
Note: Here I provide a function you can use. Below the function is a sample.
|
1
2
3
4
5
6
7
8
|
function HideShowSection(tabName, sectionName, visible) {
try {
Xrm.Page.ui.tabs.get(tabName).sections.get(sectionName).setVisible(visible);
}
catch (err) { }
}
HideShowSection("general", "address", false); // "false" = invisible
|
23. Show/Hide a Tab:
Note: Here I provide a function you can use. Below the function is a sample.
|
1
2
3
4
5
6
7
8
|
function HideShowTab(tabName, visible) {
try {
Xrm.Page.ui.tabs.get(tabName).setVisible(visible);
}
catch (err) { }
}
HideShowTab("general", false); // "false" = invisible
|
24. Save the form:
|
1
2
3
|
function SaveAndClose() {
Xrm.Page.data.entity.save();
}
|
25. Save and close the form:
|
1
2
3
|
function SaveAndClose() {
Xrm.Page.data.entity.save("saveandclose");
}
|
26. Close the form:
Note: the user will be prompted for confirmation if unsaved changes exist
|
1
2
3
|
function Close() {
Xrm.Page.ui.close();
}
|
27. Determine which fields on the form are dirty:
|
1
2
3
4
5
6
7
8
9
|
var attributes = Xrm.Page.data.entity.attributes.get()
for (var i in attributes)
{
var attribute = attributes[i];
if (attribute.getIsDirty())
{
alert("attribute dirty: " + attribute.getName());
}
}
|
28. Determine the Form Type:
Note: Form type codes: Create (1), Update (2), Read Only (3), Disabled (4), Bulk Edit (6)
|
1
2
3
4
5
6
|
function AlertFormType() {
var FormType = Xrm.Page.ui.getFormType();
if (FormType != null) {
alert(FormType);
}
}
|
29. Get the GUID of the current record:
|
1
2
3
4
5
6
|
function AlertGUID() {
var GUIDvalue = Xrm.Page.data.entity.getId();
if (GUIDvalue != null) {
alert(GUIDvalue);
}
}
|
30. Get the GUID of the current user:
|
1
2
3
4
5
6
|
function AlertGUIDofCurrentUser() {
var UserGUID = Xrm.Page.context.getUserId();
if (UserGUID != null) {
alert(UserGUID);
}
}
|
31. Get the Security Roles of the current user:
(returns an array of GUIDs, note: my example reveals the first value in the array only)
|
1
2
3
|
function AlertRoles() {
alert(Xrm.Page.context.getUserRoles());
}
|
32. Determine the CRM server URL:
|
1
2
3
4
5
6
7
|
// Get the CRM URL
var serverUrl = Xrm.Page.context.getServerUrl();
// Cater for URL differences between on premise and online
if (serverUrl.match(//$/)) {
serverUrl = serverUrl.substring(0, serverUrl.length - 1);
}
|