Suitescript中供应商记录保存前修改字段值的问题排查咨询
代码问题排查与修复方案
你的代码存在三处核心错误:
- 语法结构不完整:原代码末尾缺少
define函数和外层函数的闭合符号,运行时会直接报语法错误 - 获取当前记录实例的方式错误:
N/record模块的currentRecord仅适用于客户端脚本场景,用户事件脚本的beforeSubmit入口必须通过入参context的newRecord属性获取当前正在保存的供应商记录 - 缺少触发逻辑的场景过滤(可选但推荐添加):可限制仅编辑供应商记录时执行逻辑,避免新建、删除等场景下不必要的字段修改
修正后完整代码
/** @NApiVersion 2.0 @NScriptType UserEventScript @NModuleScope Public */ define(['N/record'], function (cr) { function beforeSubmit(context) { // 仅编辑场景下执行逻辑,可根据需求调整触发类型 if (context.type !== context.UserEventType.EDIT) { return; } var myRecord = context.newRecord; myRecord.setValue({ fieldId: 'custentitypmv_vendorreviewcomplete', value: false }); } return { beforeSubmit: beforeSubmit }; });
部署注意事项
脚本上线前请确认以下配置:
- 脚本应用的记录类型选择为「供应商(vendor)」
- 执行状态设置为「已发布」
- 分配的权限组拥有供应商记录的编辑权限,以及
custentitypmv_vendorreviewcomplete自定义字段的读写权限
内容的提问来源于stack exchange,提问作者jerry
相关产品推荐
相关产品推荐

