SuiteScript中的record.setFieldValues()问题清空字段值

问题描述 投票:1回答:1

好,所以我将用户事件脚本附加到自定义记录。此自定义记录上的字段之一是项目记录的选择字段。在用户事件脚本中,它获取此字段的值,并检查所选项目上的项目选项。在遍历这些值时,它将检查是否缺少某些值,并在必要时添加它们。我遇到的问题是,最终将项目选项字段设置为空白。我尝试过加载记录,设置值,然后保存,还尝试通过nlapiSubmitField()设置单个值。两种方法的结果都是相同的。这是代码的简要介绍:

var itemId = customRec.getFieldValue("custrec_item_field");
var itemRec = nlapiLoadRecord("noninventoryitem", itemId, { recordmode : "dynamic" });
var optArray = [ "CUSTCOL_OPT1" , "CUSTCOL_OPT2" , "CUSTCOL_OPT3" , "CUSTCOL_OPT4" ];
itemRec.setFieldValues("itemoptions", optArray);
nlapiSubmitRecord(itemRec, true, true);

现在,几个月前,我确定这是可以正常工作的,并且如果在保存项目记录时对用户事件BeforeSubmit函数应用类似的登录名,则一切都会按预期进行。我敢肯定,可以通过触发从原始用户事件调用的Suitelet中的项目记录进行编辑来使此工作正常进行,但这似乎很荒谬。除非我以小写形式输入item选项值,否则不会遇到任何错误。我想念什么吗?还是我只需要找到一种在此用户事件功能之外触发此操作的方法?

javascript netsuite suitescript
1个回答
1
投票

请忽略。其他地方有一个缺陷正在清除选项,因为它错误地认为所选值已更改。随意批评我是白痴。

© www.soinside.com 2019 - 2024. All rights reserved.