验证 Netsuite 中的内联编辑

2024-01-18

我需要在 NetSuite 中验证内联编辑。

我已经有一个客户端脚本,在正常编辑记录时效果很好。

我尝试在保存之前的功能上添加一个用户事件脚本来验证记录,但似乎内联编辑会忽略这一点。

以前有人遇到过这个吗?

您可以提供的任何见解都会有所帮助。谢谢!

Edits:

UE脚本中的相关代码:

function beforeSubmit(type){
    if (type == "create" || type == "edit" || type == "xedit") {
        var status = nlapiGetContext().getSetting("SCRIPT", "...");
        var amount = Number(nlapiGetContext().getSetting("SCRIPT", "..."));

        var nr = nlapiGetNewRecord();
        var entitystatus = nr.getFieldValue("entitystatus");
        var projectedtotal = Number(nr.getFieldValue("projectedtotal"));
        if (entitystatus == status && projectedtotal >= amount) {
            var statusText = nr.getFieldText("entitystatus");
            var message = "ERROR...";
            throw nlapiCreateError("...", message, true);
        }
    }
}

这适用于机会记录。

正在验证的字段是带有 id 的预计总计projectedtotal.


我的错误,我误解了如何xedit处理过nlapiGetNewRecord()。呼唤nlapiGetNewRecord在 xedit 中时仅返回已编辑的字段,而不是整个记录。因此,if 语句在 xedit 模式下永远不会为 true,因为金额或状态将为 null(用户不太可能同时编辑这两个字段,并且验证依赖于这两个字段的值)。

我编辑了代码来查找字段值(如果新记录中不存在该字段值)。现在一切都按预期进行了!

感谢大家的帮助!

作为参考,更正后的代码如下。

function beforeSubmit(type){
    if (type == "create" || type == "edit" || type == "xedit") {
        var status = nlapiGetContext().getSetting("SCRIPT", "...");
        var amount = Number(nlapiGetContext().getSetting("SCRIPT", "..."));

        var nr = nlapiGetNewRecord();
        //Attempt to get values normally
        var entitystatus = nr.getFieldValue("entitystatus");
        var projectedtotal = Number(nr.getFieldValue("projectedtotal"));

        var id = nr.getId();

        //If values were null, it's likely they were not edited and
        //thus not present in nr. Look them up.
        if(!entitystatus){
            entitystatus = nlapiLookupField("opportunity", id, "entitystatus");
        }
        if(!projectedtotal){
            projectedtotal = Number(nlapiLookupField("opportunity", id, "projectedtotal"));
        }

        if (entitystatus == status && projectedtotal >= amount) {
            var message = "ERROR...";
            throw nlapiCreateError("101", message, true);
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

验证 Netsuite 中的内联编辑 的相关文章

随机推荐

  • Java替换字符串中的所有方括号

    我想从字符串中删除方括号 但我不知道如何操作 String str Chrissman 1 str replaceAll String temp str split System out println Nickname temp 0 Po
  • 计算 JMS 队列中的消息数

    检查 JMS 队列并获取其中所有消息的最佳方法是什么 如何统计队列中消息的数量 Thanks 使用 JmsTemplate public int getMessageCount String messageSelector return j
  • HasColumnType 和 Database generated 的正确用法是什么

    我正在将大约 80 个实体的大量 EF 模型从 EF4 迁移到 EF6 并且还将其从 Designer EDMX 生成数据库更改为 Code First 数据库 现在 我正在使用 EF Fluent api 配置实体关系 但我不确定是否正确
  • 更新后pgadmin无法登录

    刚刚将 pgadmin4 更新到版本 4 8 现在它不接受 ssh 隧道密码进入服务器 我收到以下错误消息 Failed to decrypt the SSH tunnel password Error utf 8 codec can t
  • 了解 QEMU 的好来源是什么?

    您会推荐什么书或网站来了解 QEMU 我想查看一些使用示例以及如何使用 API 最佳资源 主要 QEMU 使用文档 http wiki qemu org Manual Qemu 手册页 http manpages ubuntu com ma
  • 为什么用方法返回指针会使调试模式下的测试失败?

    当我在发布模式下启动以下测试时 它们都通过了 但在调试模式下它们都失败了 TestFixture public unsafe class WrapperTests Test public void should correctly set
  • ASP.net 是用户角色

    我无法弄清楚如何快速找出角色中的用户名是 否吗 我已经做到了 Roles FindUsersInRole Admin usersName 但我有点卡住了 有什么简单的方法吗 以下返回 true 或 false 具体取决于指定用户是否属于指定
  • 如何批量重命名路径下的文件新的不同名称?

    我有一个文件 destination txt 其中包含有关我的 CD 的路径信息 C Users NekhayenkoO Desktop LOG Dateien CD Imaging SME99 ISO C Users Nekhayenko
  • 将 R 中的数字四舍五入到指定的位数

    我在 R 中对数字进行四舍五入时遇到问题 我有以下数据 我想将它们四舍五入到 8 位小数 structure c 9 50863385275955e 05 4 05702267762077e 06 2 78921491976249e 05
  • 插入具有相同唯一 ID 的多行

    我使用一个查询插入多行 显然 ID 列会自动递增每一行 我想创建另一个 ID 列 并使查询期间插入的所有行的 ID 保持不变 因此 如果我在一个查询期间插入 10 行 我希望所有 10 行的 id 为 1 如何才能做到这一点 谢谢你的帮助
  • 在maven中,如何将非java src文件包含在输出jar中的同一位置?

    我收到了一个源代码包 在 src 目录树内有一些属性文件 properties 我想将它们保留在输出 jar 中的同一位置 例如 我想要 src main java com mycompany utils Myclass java src
  • 使用 javascript 创建动态 div

  • 表达式树不能包含使用可选参数的调用或调用

    表达式树可能不包含使用以下内容的调用或调用 可选参数 return this RedirectToAction
  • 应用程序的音频无法通过扬声器播放

    我的应用程序中有一个奇怪的错误 我正在使用 AVAudioPlayer 来播放声音 它的多个实例 声音通过耳机完美地工作 但是在没有耳机的情况下使用该应用程序不会从扬声器发出声音 所有音频剪辑均采用 AAC 编码 我尝试通过 Objecti
  • 使用 XMLHttpRequest 生成 RGB 图像的主色

    读者须知 这是一个很长的问题 但需要背景知识才能理解所提出的问题 The 色彩量化技术 https en wikipedia org wiki Color quantization通常用于获取主色图像的 进行颜色量化的著名库之一是莱普托尼卡
  • 为什么只有部分 C++ 模板实例导出到共享库中?

    我有一个 C 动态库 在 macOS 上 它有一个模板化函数 其中包含一些在公共 API 中导出的显式实例化 客户端代码只能看到模板声明 他们不知道其中发生了什么 并且依赖于这些实例化在链接时可用 由于某种原因 只有其中一些显式实例化在动态
  • 使用 ggplot2 为不同的行重新分级添加图例

    我想添加一个图例来告诉使用哪种颜色代表哪条线ggplot2 我的代码如下 require lme4 require ggplot2 m1 lt lmer Reaction 1 I Days 1 Days Subject data sleep
  • 在 Compojure 中组合路线

    我在 Clojure 中使用 Compojure 开发了两个不同的 Web 应用程序 每个都使用 defroutes 来创建其处理程序 如何将 defroutes 的两种不同定义合并为一个 defroute 我想将第一个应用程序的路由重用到
  • MongoDB:applyOps:管理员无权执行命令

    非常美好的一天 我在 mongodb 中有一个用户 如下所示 该用户具有超级用户权限 我使用以下命令确认了角色设置show users命令 id admin mongoadmin user mongoadmin db admin roles
  • 验证 Netsuite 中的内联编辑

    我需要在 NetSuite 中验证内联编辑 我已经有一个客户端脚本 在正常编辑记录时效果很好 我尝试在保存之前的功能上添加一个用户事件脚本来验证记录 但似乎内联编辑会忽略这一点 以前有人遇到过这个吗 您可以提供的任何见解都会有所帮助 谢谢