2016-04-05 18 views
0

Seçme, metin kutusu vb. Değerleri aktarabilirim, ancak çoklu seçim için kullanamam. Çoklu seçim için değerleri güncelleyebilirim. Ancak çoklu seçim için değerleri aktararak bir kayıt oluşturamıyorum.Netsuite'de RESTlet kullanarak çoklu seçim özel alanları için değerler nasıl iletilir?

$datastring = array(
     "gu_action"=> "create", 
     "recordtype"=>"vendor", 
     "companyname"=>"Jerald Vend", 
     'subsidiary'=>1, 
     'custentity36'=>1 
); 

custentity36 multiselect kontrolüdür:

Bu

kodudur. Bu etiket, tek bir değer geçtiğimde, Kurs

. i aşağıda kodu gibi seçmek çok için birden çok değer geçirmek için denemek i "için giriniz değere (ler): Kursu" gibi hata alıyorum

$datastring = array(
     "gu_action"=> "create", 
     "recordtype"=>"vendor", 
     "companyname"=>"Jerald Vend", 
     'subsidiary'=>1, 
     'custentity36'=>array(1,3) 
); 

Kod geçerli: https://gist.githubusercontent.com/ganeshprabhus/a3ebd67712913df3de29/raw/3a6df6a3af8642fceacb3a4b8e519ad96a054e69/ns_script.js

cevap

5

değeri geçmek doğru biçimde. Bu durumda, RESTlet kodu, dosyalanan multiselect'i işleme uygunluğuna sahip olmalıdır. Restlet kullanılan alan ayarlanan değer API Bu API multiselect alan değerini ayarlamak için kullanılabilir olduğunu

nlapiSetFieldValues() 

olmalıdır. Paylaştığınız github refernce göre. create_record fonksiyonu

/********************** Creation *********************************/ 
function create_record(datain) { 
    var err = new Object(); 

    // Validate if mandatory record type is set in the request 
    if (!datain.recordtype) { 
     err.status = "Failed"; 
     err.message = "Missing recordtype"; 
     return err; 
    } 

    var record = nlapiCreateRecord(datain.recordtype); 

    for (var fieldname in datain) { 
     if (datain.hasOwnProperty(fieldname)) { 
      if (fieldname != 'recordtype' && fieldname != 'id') { 
       var value = datain[fieldname]; 
       // ignore other type of parameters 
       if (value && typeof value != 'object') { 

record.setFieldValue (AlanAdı, değer) altında ısıtılması;

} 
      } //recordtype and id checking ends 
     } 
    } //for ends 

    var recordId = nlapiSubmitRecord(record); 
    nlapiLogExecution('DEBUG', 'id=' + recordId); 

    var nlobj = nlapiLoadRecord(datain.recordtype, recordId); 
    return nlobj; 
} 

alıntı kod i başka yer setFieldValues ​​kullanılan

record.setFieldValues(fieldname,value) // fieldname : custentity36 , value : 1,3 
+0

Teşekkür Frederick olmalıdır. Kodu github'da da güncelledim. – Prabhu

+0

https://gist.githubusercontent.com/ganeshprabhus/a3ebd67712913df3de29/raw/eb2a67c1989181a2b0646083af0913070ad520ee/ns_script.js – Prabhu

+0

Yorumlarınız için teşekkürler Prabhu –