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 numbers function 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 called alert(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 field function 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:30am SetTime('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 field function 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.