Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在suitescript 2.0中加载保存的搜索时,search.run().getRange出错_Javascript_Netsuite_Suitescript_Suitescript2.0 - Fatal编程技术网

Javascript 在suitescript 2.0中加载保存的搜索时,search.run().getRange出错

Javascript 在suitescript 2.0中加载保存的搜索时,search.run().getRange出错,javascript,netsuite,suitescript,suitescript2.0,Javascript,Netsuite,Suitescript,Suitescript2.0,我已在我的beforeLoaduserevent脚本中加载了保存的搜索。 当我尝试在应用一个过滤器后运行搜索时,Netsuite抛出一个意外的\u错误。有人能提出这个错误的原因吗 var poRec = context.newRecord; var countItem = poRec.getLineCount({ sublistId: 'item' }); var reqValue = poRec.getValue({ fieldId:'custbody_reqfield' });

我已在我的
beforeLoad
userevent脚本中加载了保存的搜索。 当我尝试在应用一个过滤器后运行搜索时,Netsuite抛出一个
意外的\u错误
。有人能提出这个错误的原因吗

  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
  }

您需要替换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];

这将覆盖保存的搜索上的任何现有筛选器。@erictgrbaugh true。OP需要将过滤器复制到新数组中,然后以其他方式应用它。