【问题标题】:how to get specific fields by id in Netsuite using RESTlet如何使用 RESTlet 在 Netsuite 中通过 id 获取特定字段
【发布时间】:2020-09-12 06:44:46
【问题描述】:

我可以使用下面的函数在netsuite中通过id获取所有具有特定记录值的标准和系统字段。

            var response = record.load({
                type: resourceType,
                id: recordId
            });

但我想使用上面的函数获取特定字段,如下所示

            var response = record.load({
                type: resourceType,
                id: recordId,
                fields: ["id","name"]
            });

我可以通过搜索获得特定的字段。但是搜索会比 load() 花费时间。

【问题讨论】:

  • 按 id 搜索可以比记录加载更快(尚未测试项目,但肯定是用于交易)如果它完全慢那么差异可以忽略不计

标签: netsuite suitescript2.0


【解决方案1】:

您也可以使用search.lookupFields(),它通常比record.load()search.create() 更快。它的工作原理是这样的:

var customer = search.lookupFields({
  type: 'customer',
  id: 968,
  columns: ['internalid', 'companyname', 'daysoverdue']
});

log.debug(customer.internalid[0].value);
log.debug(customer.companyname);
log.debug(customer.daysoverdue);

log.debug(JSON.stringify(customer));

您从search.lookupFields() 得到的回复如下所示:

{
  "internalid": [{ "value": "968", "text": "968" }],
  "companyname": "DataTek Systems, Inc.",
  "daysoverdue": "0"
}

【讨论】:

  • 感谢 Mike,但我无法获取一些字段,例如 officephone,在 Contact 记录类型中是私有的。 NS 抛出错误
  • 没错。使用 search 模块时,这些字段似乎不可用。在NetSuite Record Browser 中,“搜索​​列”部分没有将officephoneisprivate 列为搜索结果的可用列。
  • 还有其他方法可以获取所选字段,即使这些字段不可搜索?
  • 您可以通过加载记录并直接访问它们来获取这些字段。您无法通过search 模块获得search.lookupFields()search.create()
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-01-14
  • 1970-01-01
  • 2016-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-01
相关资源
最近更新 更多