JAVASCRIPT REFERENCE
1. Get the GUID value of a lookup field:
Note: this example reads and pops the GUID of the primary contact on the Account form
1
2
3
4
| function AlertGUID() { var primaryContactGUID = Xrm.Page.data.entity.attributes.get("primarycontactid").getValue()[0].id; alert(primaryContactGUID);} |
2. Get the Text value of a lookup field:
Note: this example reads and pops the name of the primary contact on the Account form
1
2
3
4
| function AlertText() { var primaryContactName = Xrm.Page.data.entity.attributes.get("primarycontactid").getValue()[0].name; alert(primaryContactName);} |
3. Get the value of a text field:
Note: this example reads and pops the value of the Main Phone (telephone1) field on the Account form
1
2
3
4
| function AlertTextField() { var MainPhone = Xrm.Page.data.entity.attributes.get("telephone1").getValue(); alert(MainPhone);} |
4. Get the database value of an Option Set field:
Note: this example reads and pops the value of the Address Type (address1_addresstypecode) field on the Account form
1
2
3
4
5
6
| function AlertOptionSetDatabaseValue() { var AddressTypeDBValue = Xrm.Page.data.entity.attributes.get("address1_addresstypecode").getValue(); if (AddressTypeDBValue != null) { alert(AddressTypeDBValue); }} |
5. Get the text value of an Option Set field:
Note: this example reads and pops the value of the Address Type (address1_addresstypecode) field on the Account form
1
2
3
4
5
6
| function AlertOptionSetDisplayValue() { var AddressTypeDisplayValue = Xrm.Page.data.entity.attributes.get("address1_addresstypecode").getText(); if (AddressTypeDisplayValue != null) { alert(AddressTypeDisplayValue); }} |
6. Get the database value of a Bit field:
1
2
3
4
| // example GetBitValue("telephone1");function GetBitValue(fieldname) { return Xrm.Page.data.entity.attributes.get(fieldname).getValue();} |
7. Get the value of a Date field:
returns a value like: Wed Nov 30 17:04:06 UTC+0800 2011
and reflects the users time zone set under personal options
1
2
3
4
| // example GetDate("createdon");function GetDate(fieldname) { return Xrm.Page.data.entity.attributes.get(fieldname).getValue();} |
8. Get the day, month and year parts from a Date field:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| // This function takes the fieldname of a date field as input and returns a DD-MM-YYYY value// Note: the day, month and year variables are numbersfunction FormatDate(fieldname) { var d = Xrm.Page.data.entity.attributes.get(fieldname).getValue(); if (d != null) { var curr_date = d.getDate(); var curr_month = d.getMonth(); curr_month++; // getMonth() considers Jan month 0, need to add 1 var curr_year = d.getFullYear(); return curr_date + "-" + curr_month + "-" + curr_year; } else return null;}// An example where the above function is calledalert(FormatDate("new_date2")); |
9. Set the value of a string field:
Note: this example sets the Account Name field on the Account Form to “ABC”
1
2
3
4
| function SetStringField() { var Name = Xrm.Page.data.entity.attributes.get("name"); Name.setValue("ABC");} |
10. Set the value of an Option Set (pick list) field:
Note: this example sets the Address Type field on the Account Form to “Bill To”, which corresponds to a database value of “1”
1
2
3
4
| function SetOptionSetField() { var AddressType = Xrm.Page.data.entity.attributes.get("address1_addresstypecode"); AddressType.setValue(1);} |
11. Set a Date field / Default a Date field to Today:
1
2
| //set date field to now (works on date and date time fields)Xrm.Page.data.entity.attributes.get("new_date1").setValue(new Date()); |
12. Set a Date field to 7 days from now:
1
2
3
4
5
6
| function SetDateField() { var today = new Date(); var futureDate = new Date(today.setDate(today.getDate() + 7)); Xrm.Page.data.entity.attributes.get("new_date2").setValue(futureDate); Xrm.Page.data.entity.attributes.get("new_date2").setSubmitMode("always"); // Save the Disabled Field} |
13. Set the Time portion of a Date Field:
1
2
3
4
5
6
7
8
9
10
11
| // This is a function you can call to set the time portion of a date fieldfunction SetTime(attributeName, hour, minute) { var attribute = Xrm.Page.getAttribute(attributeName); if (attribute.getValue() == null) { attribute.setValue(new Date()); } attribute.setValue(attribute.getValue().setHours(hour, minute, 0));}// Here's an example where I use the function to default the time to 8:30amSetTime('new_date2', 8, 30); |
14. Set the value of a Lookup field:
Note: here I am providing a reusable function…
1
2
3
4
5
6
7
8
9
10
11
| // Set the value of a lookup fieldfunction SetLookupValue(fieldName, id, name, entityType) { if (fieldName != null) { var lookupValue = new Array(); lookupValue[0] = new Object(); lookupValue[0].id = id; lookupValue[0].name = name; lookupValue[0].entityType = entityType; Xrm.Page.getAttribute(fieldName).setValue(lookupValue); }} |
Here’s an example of how to call the function (I retrieve the details of one lookup field and then call the above function to populate another lookup field):
1
2
3
4
5
6
| var ExistingCase = Xrm.Page.data.entity.attributes.get("new_existingcase");if (ExistingCase.getValue() != null) { var ExistingCaseGUID = ExistingCase.getValue()[0].id; var ExistingCaseName = ExistingCase.getValue()[0].name; SetLookupValue("regardingobjectid", ExistingCaseGUID, ExistingCaseName, "incident");} |
15. Split a Full Name into First Name and Last Name fields:
1
2
3
4
5
6
7
8
| function PopulateNameFields() { var ContactName = Xrm.Page.data.entity.attributes.get("customerid").getValue()[0].name; var mySplitResult = ContactName.split(" "); var fName = mySplitResult[0]; var lName = mySplitResult[1]; Xrm.Page.data.entity.attributes.get("firstname").setValue(fName); Xrm.Page.data.entity.attributes.get("lastname").setValue(lName);} |
16. Set the Requirement Level of a Field:
Note: this example sets the requirement level of the Address Type field on the Account form to Required.
Note: setRequiredLevel(“none”) would make the field optional again.
1
2
3
4
| function SetRequirementLevel() { var AddressType = Xrm.Page.data.entity.attributes.get("address1_addresstypecode"); AddressType.setRequiredLevel("required");} |
No comments:
Post a Comment
Note: only a member of this blog may post a comment.