【问题标题】:Is it possible to fetch a line item's value with out having to load the whole record?是否可以在不必加载整个记录的情况下获取行项目的值?
【发布时间】:2019-01-08 15:26:31
【问题描述】:

我正在尝试通过在可能的情况下使用 nlapiLookupField 来加速我的 ssp 应用程序,而不必使用 nlapiLoadRecord 加载整个记录及其子列表。不幸的是,它似乎不适用于 lineitem 字段。是否有无需使用 nlapiLoadRecord 即可获取订单项值的 api 调用?

我正在使用 SCA 规定的 1.0。

【问题讨论】:

    标签: netsuite suitescript suitecommerce


    【解决方案1】:

    nlapiLookupField() 仅限于正文字段,但是您可以使用其他搜索 API(例如:nlapiSearchRecord())返回保存的搜索可以访问的任何信息,其中显然包括项目行。如果您想从大量记录中读取一些字段,这特别有用,但我相信即使您只返回一个结果,它也比加载记录更高效,例如通过传入内部 id 作为过滤器之一.不过,我还没有测试过将单个结果搜索与单个记录负载进行比较,所以 YMMV。

    【讨论】:

    • 我的印象是您无法通过搜索访问订单项。至少在 1.0
    • 不,您绝对可以使用nlapiSearchRecord 访问订单项。尝试在 NetSuite 中打开一个新事务,然后按 F12 打开开发者工具,然后在控制台中运行以下命令:nlapiSearchRecord("salesorder",null,[["internalid","anyof",1720985]],[new nlobjSearchColumn("entity"),new nlobjSearchColumn("item")]);(将 1720985 替换为您系统中的有效销售订单内部 ID)。观察返回多于一行。这将包括主行、项目行、税行等 - 与您在 UI 中看到的返回完全相同。
    • 我相信这仅限于交易。不幸的是,我的目标记录是订阅,不符合条件。很抱歉没有在原始问题中指定我的记录类型。
    • 我不使用订阅,所以我无法具体与他们交谈,但绝对不仅仅是交易。例如,我可以从项目和客户那里获得所有类型的行。有时您必须使用连接来执行此操作,但基本上,如果您可以在 UI 中创建一个搜索来返回您想要的内容,您也可以通过脚本来完成。
    【解决方案2】:

    很遗憾,没有。 nlapiLookupFieldsearch.lookupFields 仅支持正文字段。

    【讨论】:

    • 确认订单项在不加载记录的情况下无法访问?
    • 没错 - 您需要加载整个记录才能获得订单项。
    猜你喜欢
    • 2012-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-22
    • 1970-01-01
    • 2015-10-19
    • 1970-01-01
    • 2021-11-22
    相关资源
    最近更新 更多