2017-04-23 60 views
8

我想设置多选的值与该字段中的现有值。 (即)如果归档具有值“A,B”意味着我想添加新值“c”与现有值所以,结果将是“A,B,C”。如何使用netsuite suitescript 2.0版本设置多选字段的值?

我用“N /记录”模块SubmitFields API来设置多选字段的值这样

CODE: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 
      } 

}); 

它显示如下错误:“您输入了无效的类型参数: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 

它也显示错误:“无效custbody_multiselectfield'reference键31567,31568”

但如果我添加一个值作为字符串代替字符串数组它只设置单个值(即)覆盖以前的值。 例如:多选只有“C”值而不是“A,B,C”值。

任何人都可以帮助解决这个问题。

回答

6

根据NetSuite的文档,您不能使用此api方法编辑或提交支持内联编辑的选择域(仅限于字段)(请参阅SuiteAnswer ID:45158)。您可能必须使用record.load()加载记录,修改这些值,然后使用record.save()提交。

编辑:在回答更新的问题,在这里出现的唯一问题是,您尝试通过该字段的显示值设置值,其中setValue()期望值的内部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 

我测试了这两种方法,对我都工作。

+0

谢谢氪,我尝试使用'N/Record'加载模块和使用的setValue方法设置多选字段的值。并将值设置为一个数组类型,但它显示错误“无效custbody_multiselectfield”参考键31567,31568。但而不是数组列表如果我使用单个字符串变量它设置值,但我想添加新值通过附加现有值得注意的是多选字段。是否有其他方式可以实现呢? –

+0

我可以推荐使用您的更新代码提交一个新的问题吗? – Krypton

+0

这是答案BTW所以应该被接受并且获得赏金 – bknights

相关问题