Поиск.Метод lookupFields() возвращает [0объектный объект] вместо пары ключ-значение

#javascript #json #object #netsuite #keyvaluepair

#javascript #json #объект #netsuite #keyvaluepair

Вопрос:

Я создал поисковый поиск в записи клиента, чтобы получить конкретное значение поля.при выводе полученного результата в оповещение он отображается как [объект, объект]. и я преобразовал результат в метод string JSON stringfy .

Предупреждение, показывающее результат следующим образом :

 {"custentity_cseg_customer_categ":[{"value":"6","text":"DTC"}]}
 

Но нужны значения для ключа «текст»: Пример: DTC в приведенном выше коде

Код:

 Suitescript 2.0 version:
    var customerCategoryFieldLookUp = search.lookupFields({
                    type:'CUSTOMER' ,
                    id: 13,
                    columns: ['custentity_cseg_customer_categ']
                    });

                 alert("CustomerCategoryFieldLookUp:"  JSON.stringify(customerCategoryFieldLookUp));
 

Комментарии:

1. Вы пробовали customerCategoryFieldLookUp.text ?

Ответ №1:

Это должно помочь вам:

 alert( "CustomerCategoryFieldLookUp:"  custentity_cseg_customer_categ[0].text);
 

Кроме того, chrome devtools — ваш друг: нажмите ctrl-shift-j и вставьте

 x = {"custentity_cseg_customer_categ":[{"value":"6","text":"DTC"}]}
 

теперь вы можете посмотреть на консоль и попробовать изучить

Комментарии:

1. Бит индекса массива мне помог. Спасибо

Ответ №2:

Это ожидаемое поведение search.lookupFields . Ознакомьтесь со страницей справки NS под названием search .Поисковые поля (параметры) для документированного API. Вот что говорится в справке о возвращаемом значении:

ВОЗВРАТ: Object

  • Возвращает выбранные поля как объект со свойствами value и text.
  • Возвращает поля множественного выбора в виде объекта с парами значение: текст.

Например, этот метод возвращает результаты в следующем виде:
{
internalid: 1234,
firstname: 'Joe',
my_select: [{
value: 1,
text: 'US Sub'
}],
my_multiselect: [{
value: 1,
text: 'US Sub'
},{
value: 2,
text: 'EU Sub'
}]
}

Чтобы получить значение поля выбора или множественного выбора, вам необходимо использовать доступ к массиву:

 var customerCategoryFieldLookUp = search.lookupFields({
  type:'CUSTOMER' ,
  id: 13,
  columns: ['custentity_cseg_customer_categ']
});

alert("custentity_cseg_customer_categ:"  customerCategoryFieldLookUp.custentity_cseg_customer_categ[0].value);
 

Ответ №3:

Попробуйте console.log(customerCategoryFieldLookUp), чтобы проверить ключи объекта. Из того, что я вижу, объект выглядит так

 customerCategoryFieldLookUp {
   custentity_cseg_customer_categ :{
      value:6,
      text:"DTC"
   } 
}

Use
alert(customerCategoryFieldLookUp.custentity_cseg_customer_categ.text)
or
alert(customerCategoryFieldLookUp.custentity_cseg_customer_categ.value)