无法在 SuiteScript 2.0 N/query 模块中加载工作簿

Cannnot Load Workbook in SuiteScript 2.0 N/query Module

我正在尝试使用 NetSuite 的 SuiteScript 2.0 API 集中的查询模块,了解它的工作原理,以便我们可以尝试使用它来显示对于常规 scripted/saved 搜索来说太复杂的数据。我首先采用默认模板并保存它。在 UI 中,它得出的结果没有任何问题。我尝试使用以下代码进行测试:

require(['N/query']);
var query = require('N/query');
var wrkBk = query.load({ id : "custworkbook1" });

但是,我得到的只是以下错误:

Uncaught TypeError: Cannot read property '1' of undefined
    at loadCondition (N.js?NS_VER=2021.1.0&minver=60&SS_JS_VERSION=1:17469)
    at loadCondition (N.js?NS_VER=2021.1.0&minver=60&SS_JS_VERSION=1:17443)
    at loadPostProcess (N.js?NS_VER=2021.1.0&minver=60&SS_JS_VERSION=1:17387)
    at Object.loadQuery [as load] (N.js?NS_VER=2021.1.0&minver=60&SS_JS_VERSION=1:17299)
    at <anonymous>:1:19

只是为了好玩,我想我也会尝试使用以下异步版本:

require(['N/query']);
var query = require('N/query');
var wrkBk = null;
query.load.promise({
   id : "custworkbook1"
}).then(function(result) {
   wrkBk = result;
}).catch(function(err) { 
   console.log("QUERY LOAD PROMISE ERROR\n\n", err);
})

和之前一样,得到了类似的错误:

QUERY LOAD PROMISE ERROR

 TypeError: Cannot read property '1' of undefined
    at loadCondition (N.js?NS_VER=2021.1.0&minver=60&SS_JS_VERSION=1:17469)
    at loadCondition (N.js?NS_VER=2021.1.0&minver=60&SS_JS_VERSION=1:17443)
    at loadPostProcess (N.js?NS_VER=2021.1.0&minver=60&SS_JS_VERSION=1:17387)
    at callback (N.js?NS_VER=2021.1.0&minver=60&SS_JS_VERSION=1:17410)
    at myCallback (N.js?NS_VER=2021.1.0&minver=60&SS_JS_VERSION=1:2242)
    at XMLHttpRequest.C.f.onload (bootstrap.js:477)

如果我运行下面的代码,我得到的结果没有错误:

query.listTables({ workbookId : "custworkbook1" });

[
    {
        "name": "Sales (Invoiced)",
        "scriptId": "custview2_16188707990428296095"
    }
]

知道我遗漏了什么吗?

我认为您加载模块不正确,缺少回调。根据帮助中心,它应该是这样的:

require(['N/query'], function (query)
    {
        var wrkBk = query.load({ id : "custworkbook1" });

        ...do stuff with wrkBk
    })

或者对于 SS2.1:

require(['N/query'], (query) => {

        let wrkBk = query.load({ id : "custworkbook1" });

        ...do stuff with wrkBk
    })