Sign up to receive SuiteScript examples and advice directly in your email inbox.

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 // []