javascript - Netsuite Script beforeLoad 记录未被修改

标签 javascript oracle netsuite suitescript

我试图在用户打开采购订单时对其进行修改。这似乎是一个非常简单的示例,但似乎不起作用。在 GUI 中,我没有看到“测试”备忘录。在脚本调试中,备注字段为空。

由于调试,我知道脚本正在运行。

/**
 * Update Drop Ship PO with route Information
 *
 * @author Patrick 
 * @NApiVersion 2.0
 * @NScriptType UserEventScript
 */


define(['N/search', 'N/record'],

    function(search, record) {
        function beforeLoad(context) {
            var newRecord = context.newRecord;
            newRecord.setValue({fieldId: 'memo', value: 'this is a test'});
            log.debug({title: 'memo', details: newRecord.getValue({fieldId: 'memo'})});

            return true;
        }
      return {
        beforeLoad: beforeLoad
    };
});

我假设它与我可以修改的记录有关,但我无法在文档中找到有效的示例。任何帮助将不胜感激。

最佳答案

您不能在 beforeLoad 中修改现有记录的字段;有关详细信息,请参阅 beforeLoad 的帮助页面。以下是 beforeLoad 限制的片段:

  • 加载/访问在线表单时无法触发 beforeLoad 用户事件。
  • 无法为在 beforeLoad 脚本中加载的记录操作数据。如果您尝试更新在 beforeLoad 中加载的记录,则该逻辑将被忽略。
  • 可以为在 beforeLoad 用户事件中创建的记录操纵数据。
  • 将子自定义记录附加到其父级或从其父级分 ionic 自定义记录会触发编辑事件。

第二个要点与您的问题相关。

关于javascript - Netsuite Script beforeLoad 记录未被修改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56138978/

相关文章:

javascript - 上传错误信息

javascript - 在 javascript 中提交表单后,IE 不会关闭窗口

javascript - 为什么使用 MediaElementAudioSourceNode 更适合播放较长的声音?

java - 如何在 UI 上显示表格中的 100 万条数据

netsuite - SuiteScript 2.0 与 nlapiXMLToPDF() 等效的是什么

Netsuite 中的 Javascript 报告未显示每一行

javascript - 如何实现 jQuery keyup 的延迟?

regex - 是否可以在 Oracle 的 regexp_replace 中引用第 10 个及后续替换字符串?

php - 在 Codeigniter 中使用 oracle 数据库获取错误号

javascript - 有没有办法通过 SuiteScript 获取销售订单中 Material 行的系统信息(系统注释或更改历史记录)?