【问题标题】:Netsuite: How to modify a SuiteLet sublist via linked Client Script?Netsuite:如何通过链接的客户端脚本修改 SuiteLet 子列表?
【发布时间】: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.")
        }

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

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

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

【问题讨论】:

  • 是的。您在 serverWidget 模块中使用什么子列表类型?
  • @zerecees,你是对的。我们最近发现不支持在客户端脚本中编辑 LIST 类型。我们需要切换到 INLINEEDITOR 或将编辑移回 SuiteLet 才能正常工作。

标签: javascript netsuite suitescript2.0


【解决方案1】:

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

两种可能的解决方案是:

将 SuiteList SublistType 更改为“INLINEEDITOR”。 将子列表编辑移至服务器端 (SuiteLet)。

谢谢!也许这至少会在将来帮助某人。

【讨论】:

  • 还有第三个选项,您仍然可以使用子列表显示类型 LIST(如果这对您很重要),但您只需将单个字段显示类型更改为 ENTRY。这将允许您在客户端脚本中编辑该字段。如果您还想阻止用户编辑该字段,您还可以设置 isDisabled = true。
  • @StevenDeshazer 感谢您的信息!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-17
  • 2019-10-29
  • 1970-01-01
  • 1970-01-01
  • 2021-11-06
相关资源
最近更新 更多