代码之家  ›  专栏  ›  技术社区  ›  jk121960

SuiteScript在不加载主记录的情况下拉动子列表?

  •  0
  • jk121960  · 技术社区  · 6 年前

    我正在尝试找出是否可以在不加载主记录的情况下提取子列表。当我需要的只是子列表而我没有用保存的搜索返回子列表时,这似乎是浪费。search.lookupFields只能访问非常接近的body字段。我想拉一个具体的子列表这是可能的?提前谢谢你的帮助。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Avi    6 年前

    NetSuite中的子列表实际上是通过某些字段链接的记录(如SQL中的连接)。也就是说,您可以在中使用join属性 搜索.createFilter 搜索.createColumn , searchResult.getValue etc并将公共字段传递给它,而name参数将包含要获取其值的字段的fieldId。 例如,要从salesforder获取商品数据,可以运行以下代码

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