Search.lookupFields()方法返回[0bject Object]而不是键值对



我已经在客户记录上创建了查找搜索以获得特定的字段值。同时将获得的结果显示在alert中,显示为[object,object]。我已经将结果转换为字符串JSON stringfy方法。

显示如下结果的警报:

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

但是想要键"text"的值:示例:上面代码中的DTC

代码:

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

这应该能帮到你:

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

也chrome devtools是你的朋友:按ctrl-shift-j和粘贴

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

放到控制台中现在你可以查看它并尝试探索

这是search.lookupFields的预期行为。查看标题为search.lookupFields(options)的NS帮助页面,以获取记录的API。下面是Help对返回值的说明:

返回: Object

  • 返回选择字段作为具有值和文本属性的对象。
  • 返回多选择字段作为一个对象与值:文本对。

例如,这个方法以以下形式返回结果: { internalid: 1234, firstname: 'Joe', my_select: [{ value: 1, text: 'US Sub' }], my_multiselect: [{ value: 1, text: 'US Sub' },{ value: 2, text: 'EU Sub' }] }

为了检索select或multiselect字段的值,您需要使用Array访问:

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);

尝试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)