【发布时间】:2020-12-17 22:19:37
【问题描述】:
我有一个带有空子列表的 SuiteLet。 SuiteLet 上的按钮指向尝试填充子列表的客户端脚本。我在客户端脚本上遇到了一个奇怪的错误——“未定义不是对象(正在评估'olddata [i]')。”这是一个 JavaScript 错误,我相信在下面的代码中指的是“rec”。错误从“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.")
}
以下是我知道的一些事情:
- “rec”之前正在工作并获取我需要的字段名称。
- “rec”在我的执行日志中显示“{"id":"","type":null,"isDynamic":true}"。
- 我的客户端脚本的开头使用
var rec = cr.get();来接收记录。
是否可以从客户端脚本修改 SuiteLet 子列表?我以前从未特别这样做过,所以我在这里不知所措。非常感谢任何帮助或想法!谢谢!
【问题讨论】:
-
是的。您在 serverWidget 模块中使用什么子列表类型?
-
@zerecees,你是对的。我们最近发现不支持在客户端脚本中编辑 LIST 类型。我们需要切换到 INLINEEDITOR 或将编辑移回 SuiteLet 才能正常工作。
标签: javascript netsuite suitescript2.0