如何从netsuite中的自定义搜索结果访问字段?

问题描述:

在UI中,我使用供应商线创建了自定义事务搜索。我如何访问供应商行值?我有这样的事情:如何从netsuite中的自定义搜索结果访问字段?

 var veResults = vendorSearch.run().getRange({ 
     start: 0, 
     end: 50 
     }); 
     for(var i = 0; i < veResults.length; i++) 
     { 
      var vendorName = veResults[i].getValue({name: 'vendorLine.entityid'); 
      context.response.write(vendorName); 
     }; 

如果我打印veResults,我得到以下JSON:

[ 
{ 
    "recordType": "vendorpayment", 
    "id": "210", 
    "values": { 
     "employee.entityid": "", 
     "trandate": "5/20/2015", 
     "print": "Print", 
     "type": [ 
      { 
       "value": "VendPymt", 
       "text": "Bill Payment" 
      } 
     ], 
     "payrollbatch": "", 
     "tranid": "2009", 
     "entity": [ 
      { 
       "value": "35", 
       "text": "Pacific Bell Telephone" 
      } 
     ], 
     "account": [ 
      { 
       "value": "1", 
       "text": "1000 Checking" 
      } 
     ], 
     "otherrefnum": "", 
     "statusref": [], 
     "trackingnumbers": "", 
     "memo": "", 
     "currency": [ 
      { 
       "value": "1", 
       "text": "USA" 
      } 
     ], 
     "expectedreceiptdate": "", 
     "trandate_1": "5/20/2015", 
     "enddate": "", 
     "item": [], 
     "vendorLine.entityid": "Pacific Bell Telephone", 
     "vendorLine.billaddress": "Pacific Bell Telephone\nPacific Bell Payment Center\nSacramento CA 95887-0001\nUS" 
    } 
    ...] 

所以,价值是存在的,我怎么得到它?搜索对象只有getValue和getText方法,在这种情况下,这些方法都不起作用。

没有与此行

var vendorName = veResults[i].getValue({'vendorLine.entityid'); 

一个语法错误,它应该是

var vendorName = veResults[i].getValue('vendorLine.entityid'); 
+0

是,sorrry我的坏 - 在{}当您使用name属性,这是我缺乏在我的片段。像这样:var vendorName = veResults [i] .getValue({name:'vendorLine.entityid'});,它与var vendorName = veResults [i] .getValue('vendorLine.entityid');相同。尽管如此,这两种方法都无效。 – user2187935

+0

尝试veResults [i] .getValue({name:'entityid',join:'vendorLine'}) –

+0

是的,你是对的。连接属性做了一个诡计,奇怪的是,这是我尝试的第一件事情之一,没有工作,并转移到别的东西上:/谢谢。 – user2187935