Dee*_*gan 9 javascript arrays netsuite multi-select suitescript
我想在该字段中使用现有值设置多选的值.(即)如果Filed具有值"A,B"意味着我想用现有值添加新值"c"那么,结果将是"A,B,C".
我使用"N/Record"模块SubmitFields API来设置多选字段的值,就像这样
代码:SuiteScript 2.0版本:
初始代码:
var strArrayValue = new Array();
strArrayValue [0] = "A";
strArrayValue [1] = "B";
strArrayValue [2] = "C";
record.submitFields({
type:'purchaseorder',
id:56,
values:{
custbody_multiselectfield: strArrayValue
},
options: {
enableSourcing: false,
ignoreMandatoryFields : true
}
});
Run Code Online (Sandbox Code Playgroud)
它显示如下错误:"您输入了无效类型参数:arg 4"
更新的代码:
var strArrayValue = new Array();
strArrayValue [0] = "A";
strArrayValue [1] = "B";
strArrayValue [2] = "C";
var PORec = record.load({ // Loading Purchase Order Recod
type:"purchaseorder",
id:56,
isDynamic: true
)};
PORec.setValue('custbody_multiselectfield',strArrayValue ); // Setting Value (Array List) for Multi-Select Fields
PORec.save(); // Saving Loaded Record
Run Code Online (Sandbox Code Playgroud)
它还显示错误:"无效的custbody_multiselectfield参考键31567,31568"
但是如果我将Value添加为String而不是String Array,则只设置单个值(即)覆盖先前的值.例如:多选只有"C"值而不是"A,B,C"值.
任何人都可以帮助解决这个问题
根据NetSuite的文档,您无法使用此api方法编辑或提交选择字段 - 仅支持内联编辑的字段(请参阅SuiteAnswer ID:45158).您可能必须使用record.load()加载记录,修改值,然后使用record.save()提交.
编辑:在回答更新的问题时,这里出现的唯一问题是你试图通过字段的显示值设置值,其中setValue()期望值的内部ID.您可以使用相关的内部ID更改正在填充的值,也可以将其更改为使用setText()方法:
var strArrayValue = new Array();
strArrayValue [0] = "A";
strArrayValue [1] = "B";
strArrayValue [2] = "C";
var PORec = record.load({ // Loading Purchase Order Recod
type:"purchaseorder",
id:56,
isDynamic: true
});
PORec.setText('custbody_multiselectfield',strArrayValue ); // Setting Value (Array List) for Multi-Select Fields
PORec.save(); // Saving Loaded Record
Run Code Online (Sandbox Code Playgroud)
我测试了这两种方法并且都适合我.
| 归档时间: |
|
| 查看次数: |
4114 次 |
| 最近记录: |