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);
}
|