GET/SET Value to Different Data Types field
Whenever you create function events on Entity's, we pass Execution Context of the form data to the function. We get he form context from Execution Context. Sample Code is as below.
function testFunction(executionContext) {
var formContext = executionContext.getFormContext();
}
Lets check GET/SET for different Data Types, here my prefix of fields schema name is dnlb.
Single Line Text or Multi Line Text
GET
var name = formContext.getAttribute("dnlb_name").getValue();
SET
formContext.getAttribute("dnlb_name").setValue("dotNetLittleBoy");
Two Options
GET
var isValid = formContext.getAttribute("dnlb_isvalid").getValue();
SET
formContext.getAttribute("dnlb_isvalid").setValue(true);
Option Set
GET value
var typecode = formContext.getAttribute("dnlb_typecode").getValue();
GET Text:
var typecodeText = formContext.getAttribute("dnlb_typecode").getText();
SET
Set using value
formContext.getAttribute("dnlb_typecode").setValue(99000000);
Set Option set using Text
var text = "TypeA";
var optionSetValues = formContext.getAttribute("dnlb_typecode").getOptions();
for (i = 0; i < optionSetValues.length; i++) {
if (optionSetValues[i].text == text) {
formContext.getAttribute("dnlb_typecode").setValue(optionSetValues[i].value);
}
}
Multi Select Option Set
GET values
var appcodeVal = formContext.getAttribute("dnlb_applicationcode").getValue();
GET Text
var appCodeName = formContext.getAttribute("dnlb_applicationcode").getText();
SET
Set using value
formContext.getAttribute("dnlb_applicationcode").setValue([990000000,990000001,990000005]);
Set using Text
var commonAppCode=[];
var optionText = ["AppCodeA","AppCodeB","AppCodeC"];
var optionSetValues = formContext.getAttribute("dnlb_applicationcode").getOptions();
for (i = 0; i < optionText.length; i++) {
for (j = 0; j < optionSetValues.length; j++) {
if (optionText[i] === optionSetValues[j].text) {
commonAppCode.push(optionSetValues[j].value);
formContext.getAttribute("dnlb_applicationcode").setValue(commonAppCode);
}
}
}
Whole Number
GET
var studentAge = formContext.getAttribute("dnlb_studentAge").getValue();
SET
formContext.getAttribute("dnlb_studentAge").setValue(25);
Decimal Number
GET
var testdn = formContext.getAttribute("dnlb_test").getValue();
SET
formContext.getAttribute("dnlb_test").setValue(40.6);
Floating Point Number
GET
var testfn= formContext.getAttribute("dnlb_testfn").getValue();
SET
formContext.getAttribute("dnlb_testfn").setValue(0.00009);
Date
GET
var dob = formContext.getAttribute("dnlb_dobdate").getValue();
SET
formContext.getAttribute("dnlb_dobdate").setValue(d); //d value should be in utc format based on date type as Date Only or Date Time both.
Currency
GET
var amount = formContext.getAttribute("dnlb_totalAmount").getValue();
SET
formContext.getAttribute("dnlb_totalAmount").setValue(176.98);
Lookup or Customer
GET
var studentGuid = formContext.getAttribute("dnlb_studentId").getValue()[0].id;
var studentEntityType = formContext.getAttribute("dnlb_studentId").getValue()[0].entityType;
var studentName = formContext.getAttribute("dnlb_studentId").getValue()[0].name;
SET
var studentLookup = new Array()
studentLookup[0]= new Object();
studentLookup[0].id = "{{RECORD_ID_WHICH_TO_BE_SET}}";
studentLookup[0].entityType = "dnlb_student";
studentLookup[0].name = "dotNetLittleBoy";
formContext.getAttribute("dnlb_studentId").setValue(studentLookup);
Happy Coding !!!