Netsuite:如何通过链接的客户端脚本修改SuiteNet子列表



我有一个SuiteNet,它有一个子列表为空。SuiteNet上的一个按钮指向一个试图填充子列表的客户端脚本。我在我的客户端脚本上遇到一个奇怪的错误--";undefined不是对象(正在计算"olddata[i]"("这是一个JavaScript错误,我相信指的是";rec";在以下代码中。错误开始于"0";rec.commitLine;

function populateSublist(fieldValues, rec, availableItems) {
log.debug("Rec", rec);
if (availableItems[0]) {
for (i = 0; i < availableItems.length; i++) {
try {
rec.selectNewLine({
sublistId: 'custpage_items_sublist'
});
rec.setCurrentSublistValue({
sublistId: 'custpage_items_sublist',
fieldId: 'custpage_parent_frame',
value: availableItems[0].item_parent_frame
});
// More values being set...
rec.commitLine({ // <=== *** RIGHT HERE ***
sublistId: 'custpage_items_sublist'
});
} catch (e) {
log.error("Unable to commit line - " + e.name, e.message);
}
}
} else {
log.debug("No available items for given parameters.")
}

以下是我知道的一些事情:

  1. "rec";以前正在工作,正在获取我需要的字段名
  2. "rec";正在显示";{"id":","type":null,"isDynamic":true};在我的执行日志中
  3. 我的客户端脚本的开头使用var rec = cr.get();来接收记录

是否可以从客户端脚本修改SuiteNet子列表?我以前从来没有这样做过,所以我在这里不知所措。非常感谢任何帮助或想法!谢谢

我们最近解决了这个问题。此问题是由于将SuiteNet子列表定义为SublistType.LIST。NetSuite不支持在服务器端脚本之外编辑定义为"LIST"的子列表。因此,我们在尝试通过客户端脚本编辑它时遇到了这个奇怪的错误。

两种可能的解决方案是:

将SuiteList SublistType更改为"INLINEEDITOR"将子列表编辑移到服务器端(SuiteNet(。

谢谢!也许这至少会在未来帮助一些人。

最新更新