SuiteScript вытащить подсписок без загрузки основной записи? - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь выяснить, могу ли я вытащить подсписок без загрузки основной записи.Это кажется расточительным, когда все, что мне нужно, это подсписок, и я не возвращаю подсписок с сохраненным поиском.search.lookupFields только дает доступ к полям тела, что очень близко.Я хотел бы вытащить конкретный подсписок это возможно?Заранее благодарю за любую помощь.

1 Ответ

0 голосов
/ 17 декабря 2018

Подсписки в NetSuite на самом деле являются записями, которые связаны через какое-то поле (например, объединения в SQL).Тем не менее, вы можете использовать свойство join в search.createFilter , search.createColumn , searchResult.getValue и т. Д. И передавать ему общее поле, пока имяПараметр будет содержать fieldId поля, для которого вы хотите получить значение.Например, чтобы получить данные товара из продавца, вы можете запустить следующий код

var salesOrderSearchResult = search.create({ 
    type: 'transaction,
    filters: search.createFilter({ 
        name: 'internalid', 
        join: 'item', 
        operator: 'is', 
        values: ITEM_INTERNAL_ID 
    }),
    columns: search.createColumn({ name: 'itemid', join: 'item' })
}).run().getRange({ start: 0, end: 100 });

// to fetch results
salesOrderSearchResult.forEach(function (searchResult) {
    var itemId = searchResult.getValue({ name: 'itemId' ,join: 'item' });
})
...