如何通过Netsuite Suitescript 2.0中的CompanyId搜索案例?

问题描述 投票:0回答:2

我可以按公司名称搜索案例

var mySearch = search.create({
      type: search.Type.SUPPORT_CASE,
       columns: [{
          name: 'title'
      }, {
          name: 'company'
      }],
      filters: [{
          name: 'company',
          operator: 'is',
          values: 'Test'
      }]
  });
  return mySearch.run({
    ld: mySearch.id
  }).getRange({
      start: 0,
      end: 1000
  });

但我无法按公司ID搜索案例。 companyId是115

以下不起作用

一世)

filters: [{
          name: 'company',
          operator: 'is',
          values: 115
      }]

II)

filters: [{
          name: 'companyid',
          operator: 'is',
          values: 115
      }]
netsuite restlet suitescript2.0
2个回答
1
投票

根据Case schema company是一个文本过滤器,意味着你必须提供公司的精确名称,而不是内部ID。

相反,您可能希望使用customer.internalid连接过滤器来提供内部ID。此外,内部ID字段几乎总是选择字段,这意味着它们不接受is运算符,而是需要anyofnoneof运算符。

您可以在标题为Search Operators的帮助页面上按字段类型找到有效的运算符


1
投票

首先,你可以试试这个:

var supportcaseSearchObj = search.create({
   type: "supportcase",
   filters:
   [
      ["company.internalid","anyof","100"]
   ],
   columns:
   [
      search.createColumn({
         name: "casenumber",
         sort: search.Sort.ASC
      }),
      "title",
      "company",
      "contact",
      "stage",
      "status",
      "profile",
      "startdate",
      "createddate",
      "category",
      "assigned",
      "priority"
   ]
});

第二:我怎么得到这个?答案暗示会让您的生活更轻松:

  1. 安装“NetSuite保存的搜索代码导出”chrome插件。
  2. 在Netsuite UI中,创建已保存的搜索(在代码中执行此操作总是更容易)。
  3. 保存搜索后,再次打开它以进行编辑。
  4. 在右上角(netsuite页面中的列表,搜索菜单附近),您将看到一个链接“导出为脚本”:单击它,您将获得您的代码;)

如果您无法安装chrome插件:

  1. 在Netsuite UI中,创建已保存的搜索(在代码中执行此操作总是更容易)。
  2. 在您的代码中,加载已保存的搜索
  3. 添加log.debug以显示[loadedesearchVar].filters
  4. 然后,您可以复制在日志中看到的内容,以将其用作搜索过滤器。

祝好运!

© www.soinside.com 2019 - 2024. All rights reserved.