Netsuite SuiteScript 2.0 getSublistFields方法不工作

Netsuite SuiteScript 2.0 getSublistFields方法不工作,netsuite,suitescript,suitescript2.0,Netsuite,Suitescript,Suitescript2.0,我有一个发票记录(newRecord)的用户事件脚本,存储为var record。在沙盒和浏览器控制台中,我使用了record.getSublistFields('sublist_name'),这一直有效 我们刚刚将用户事件脚本从沙箱移植到生产环境中,突然getSublistFields('sublist_name')无法在脚本上下文中工作,尽管脚本没有任何更改。使用控制台,该方法仍然可以正常工作 下面是调试器中的几行代码- $ record.getLineCount('item') >

我有一个发票记录(newRecord)的用户事件脚本,存储为
var record
。在沙盒和浏览器控制台中,我使用了
record.getSublistFields('sublist_name')
,这一直有效

我们刚刚将用户事件脚本从沙箱移植到生产环境中,突然
getSublistFields('sublist_name')
无法在脚本上下文中工作,尽管脚本没有任何更改。使用控制台,该方法仍然可以正常工作

下面是调试器中的几行代码-

$ record.getLineCount('item')
> 2
$ record.getSublistFields('item')
>
$ record.getSublistFields()
>     {"type":"error.SuiteScriptError","name":"SSS_MISSING_REQD_ARGUMENT","message":"DeferredDynamicRecord.getSublistFields: Missing a required argument: sublistId","stack":["<anonymous>(N/record/recordService.js)","<anonymous>()","buildBodyData(usereventscript.js$72$debugger.user:118)","buildData(usereventscript.js$72$debugger.user:74)","_put(usereventscript.js$72$debugger.user:37)","_afterSubmit(usereventscript.js$72$debugger.user:14)","<anonymous>(usereventscript.js$72$debugger.wrap:18)","<anonymous>(usereventscript.js$72$debugger.wrap:12)","<anonymous>(usereventscript.js$72$debugger.wrap:24)","<anonymous>(usereventscript.js$72$debugger.wrap:1)"],"cause":{"type":"internal error","code":"SSS_MISSING_REQD_ARGUMENT","details":"DeferredDynamicRecord.getSublistFields: Missing a required argument: sublistId","userEvent":"aftersubmit","stackTrace":["<anonymous>(N/record/recordService.js)","<anonymous>()","buildBodyData(usereventscript.js$72$debugger.user:118)","buildData(usereventscript.js$72$debugger.user:74)","_put(usereventscript.js$72$debugger.user:37)","_afterSubmit(usereventscript.js$72$debugger.user:14)","<anonymous>(usereventscript.js$72$debugger.wrap:18)","<anonymous>(usereventscript.js$72$debugger.wrap:12)","<anonymous>(usereventscript.js$72$debugger.wrap:24)","<anonymous>(usereventscript.js$72$debugger.wrap:1)"],"notifyOff":false},"id":"","notifyOff":false} (SYSTEM_LIBS$debugger.sys#3387)
$record.getLineCount('item'))
> 2
$record.getSublistFields('item')
>
$record.getSublistFields()
>{“type”:“error.SuiteScriptError”,“name”:“SSS_缺少_REQD_参数”,“message”:“DeferredDynamicRecord.getSublistFields:缺少必需的参数:sublistId”,“stack”:[“(N/record/recordService.js)”,“()”,“buildBodyData(usereventscript.js$72$debugger.user:118)”,“buildData(usereventscript.js$72$debugger.user:74)”,“\u(usereventscript.js$72$debugger.user:37)”、“_-afterSubmit(usereventscript.js$72$debugger.user:14)”、“(usereventscript.js$72$debugger.wrap:18)”、“(usereventscript.js$72$debugger.wrap:12)”、“(usereventscript.js$72$debugger.wrap:1)”、“原因”:{“类型”:“内部错误”、“代码”:“SSS$U缺少请求参数”、“详细信息”:“DeferredDynamicRecord.getSublistFields:缺少必需的参数:sublistId”、“userEvent”:“aftersubmit”、“stackTrace”:[“(N/record/recordService.js)”、“()”、“buildBodyData(usereventscript.js$72$debugger.user:118)”、“buildData(usereventscript.js$72$debugger.user:74)”、“put(usereventscript.js$72$debugger.user:37)”、“aftersubmit”(usereventscript.js$72$debugger.user:14)”,“(usereventscript.js$72$debugger.wrap:18)”,“(usereventscript.js$72$debugger.wrap:12)”,“(usereventscript.js$72$debugger.wrap:24)”,“(usereventscript.js$72$debugger.wrap:1)”,“notifyOff”:false},“id:”“notifyOff”:false}(系统库$debugger.sys 3587)
具体来说,这是一个发票记录,从调试器代码中可以看到,其他常规SuiteScript 2.0命令工作正常


提前感谢您的帮助!如果我可以提供任何其他信息,请告诉我。

请确保您使用的是SuiteScript 2.0,因此您必须加载记录模块(N/record)才能使用NetSuite记录。请尝试以下代码

var field = record.getSublistFields({
sublistId: 'item'
});

感谢回复Salman!我在2.0中工作,正如您在讨论中的代码之前和之后看到的其他2.0代码一样

我联系了Netsuite支持部门,他们告诉我这实际上是一个已知的bug。它应该会在2017.2版本中修复

与此同时,我通过从oldRecord对象调用
getSublistFields
对其进行了“黑客攻击”