Lookups and Multiselect Fields
Created: June 13, 2017
Multi-select fields are notoriously troublesome to work with in SuiteScript, and the way they behave in a Lookup is no different.
Lookups will return any Select or Multi-select field value as an Array. The
Array will contain Objects, and each Object will contain both a value
and a
text
property.
The value
property contains the internal ID of the selected value, while the
text
contains the name displayed for the selected value.
If nothing is selected in either a Select or a Multi-select field, then an empty Array is returned.
Perhaps it's best shown with an example. Here I'm looking up the Supervisor (a Select field), Skills (custom multi-select field), and Interests (custom multi-select field) on an Employee record. I've selected multiple Skills for the Employee, but I've selected none of the Interests.
const empData = s.lookupFields({
type: s.Type.EMPLOYEE,
id: employeeId,
columns: [
'supervisor', // a Select field
'custentity_skills', // a Multi-select field
'custentity_interests' // a Multi-select field
]
})
const supervisorId = empData.supervisor[0].value // "12345"
const supervisorName = empData.supervisor[0].text // "Eric T Grubaugh"
const firstSkillId = empData.custentity_skills[0].value // "3"
const secondSkillName = empData.custentity_skills[1].text // "SuiteScript 2.0"
const noInterests = empData.custentity_interests // []