SuiteScript提取子列表而不加载主记录?

时间:2018-10-11 15:25:57

标签: netsuite suitescript2.0

我正在尝试确定是否可以在不加载主记录的情况下提取子列表。当我需要的只是子列表而又没有保存搜索返回子列表时,这似乎很浪费。 search.lookupFields仅允许访问非常接近的正文字段。我想拉一个特定的子列表,这可能吗?在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

NetSuite中的

子列表实际上是通过某些字段(例如SQL中的联接)链接的记录。话虽如此,您可以在 search.createFilter search.createColumn searchResult.getValue 等中使用join属性,并将公共字段传递给它而name参数将包含您要获取其值的字段的fieldId。 例如,要从salesorder获取项目数据,您可以运行以下代码

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' });
})