Suitescript 1.0 使用 setFieldValues 将值保存在多选字段中

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

我有一个旧版 SuiteScript 1.0 脚本,我想加载客户记录并检查特定的多选字段是否具有任何选定的值。如果没有选择任何值,我想添加一个默认值。

我可以加载记录并验证该字段是否包含值。我可以将值添加到客户记录中的多选字段,但不能添加到产生错误的“leadsource”字段:

"Please enter value(s) for: Leadsource". 

“leadsource”字段似乎有一些特殊之处,需要特殊处理。有什么想法吗?

function postRESTlet(dataIn) {

  var record = nlapiLoadRecord('customer', 17417);
  var values = new Array();
  var leadsource = record.getFieldValues('leadsource');

  if(leadsource === null) {  
    values[0] = '-2';
    record.setFieldValues('leadsource', values);
  }

  nsid = nlapiSubmitRecord(record); 
  return nsid;

}
netsuite suitescript suitescript1.0
1个回答
0
投票

仅当存在多个值时,leadsource 字段的值才应为字符串数组。不然就只是刺痛而已。所以只需使用

-2
,例如:

function postRESTlet(dataIn) {
  var record = nlapiLoadRecord('customer', 17417);
  var values = new Array();
  var leadsource = record.getFieldValues('leadsource');

  if(leadsource === null) {
    values = '-2';
    record.setFieldValues('leadsource', values);
  }

  nsid = nlapiSubmitRecord(record);
  return nsid;
}

这将消除错误

“请输入以下值:潜在客户来源”

但你可能还有其他的,例如

请输入以下值:发票电子邮件

这超出了这个问题的范围

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