在suitescript 2.0中加载保存的搜索时,search.run()。getRange发生错误

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

我已经在beforeLoad userevent脚本中加载了保存的搜索。当我尝试应用一个过滤器后运行搜索时,Netsuite会抛出UNEXPECTED_ERROR。任何人都可以提出此错误的任何原因吗?

  var poRec = context.newRecord;
  var countItem = poRec.getLineCount({ sublistId: 'item' });
  var reqValue = poRec.getValue({ fieldId:'custbody_reqfield' });

  var itemSearch = search.load({
    id: 'customsearch_anis_item_search'
  });
  log.error('itemSearch', itemSearch);

  if (!!reqValue) {
    itemSearch.filters.push(
      search.createFilter({
        name: "custitem_an_test_field",
        operator: search.Operator.ANYOF,
        values: reqValue
      })
    );
  }

  var results = itemSearch.run().getRange({ start: 0, end: 1000 });//ERROR ON THIS LINE(line:181)

错误如下:

{
  "type":"error.SuiteScriptError",
  "name":"UNEXPECTED_ERROR",
  "message":null,
  "stack": 
    [
      "getRange(N/searchObject)",
      "myAfterSubmit(/SuiteScripts/sample_ue.js:181)",
      "afterSubmit(/SuiteScripts/sample_ue.js:35)"
    ],
  "cause":
    {
      "type":"internal error",
      "code":"UNEXPECTED_ERROR",
      "details":null,
      "userEvent":"aftersubmit",
      "stackTrace":
        [
          "getRange(N/searchObject)",
          "myAfterSubmit(/SuiteScripts/sample_ue.js:181)",
          "afterSubmit(/SuiteScripts/sample_ue.js:35)"
       ],
     "notifyOff":false
    },
    "id":"f414b115-c840-40de-8cf8-c0148da0c506-2d323032302e30322e3035",
    "notifyOff":false,
    "userFacing":false
  }
javascript netsuite suitescript suitescript2.0
1个回答
0
投票

您需要替换search.filters数组或使用过滤器表达式。

var newFilters = [];
newFilters.push(
      search.createFilter({
        name: "custitem_an_test_field",
        operator: search.Operator.ANYOF,
        values: reqValue
      }));
itemSearch.filters = newFilters;      

// OR

itemSearch.filters = ["custitem_an_test_field", "ANYOF", reqValue];
© www.soinside.com 2019 - 2024. All rights reserved.