2017-04-23 187 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

相關問題