2017-02-21 11 views
0

В 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, ни один из которых не работает в этом случае.

ответ

1

Существует ошибка синтаксиса этой линии

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

Это должно быть

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

да, sorrry мой плохо - {}, когда вы используете имя атрибута, который я не хватало в моем фрагменте кода. Например: var vendorName = veResults [i] .getValue ({name: 'vendorLine.entityid'}) ;, который идентичен var vendorName = veResults [i] .getValue ('vendorLine.entityid') ;. Тем не менее, никто из них не работает. – user2187935

+0

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

+0

да, вы правы. Атрибут join сделал трюк, как ни странно, это была одна из первых вещей, которые я пробовал, не работал и перешел на что-то еще:/Спасибо. – user2187935