Lookups and Multiselect Fields

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.

var 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
    ]
});

var supervisorId = empData.supervisor[0].value; // "12345"
var supervisorName = empData.supervisor[0].text; // "Eric T Grubaugh"

var firstSkillId = empData.custentity_skills[0].value; // "3"
var secondSkillName = empData.custentity_skills[1].text // "SuiteScript 2.0"

var noInterests = empData.custentity_interests; // []
{"email":"Email address invalid","url":"Website address invalid","required":"Required field missing"}

Related posts

January 7, 2021

Anything I wrote today about business would both feel and be inadequate. I simply can’t arrive at the words to express how I feel in this moment. So instead, here are a few helpful ...

Read More

December 20, 2020

2020 was a hundred swift kicks to the shorts and one giant kick in the ass. If you’ve lost people you love, if you’ve gotten sick or hurt, if you’ve lost your job, if ...

Read More

December 16, 2020

“I’ve been meaning to learn SuiteScript, but it’s hard to find the time …”“We’re slammed, and I just don’t have the time …”“I haven’t made the time …” All are variations of a theme ...

Read More

December 14, 2020

Last week we looked at mimicking the functionality of a REST endpoint with its own module (e.g. retrieving a User, or a list of Users, refreshing a token, etc). For complex integrations that rely on a large ...

Read More