Ошибка в search.run (). GetRange при загрузке сохраненного поиска в suitescript 2.0 - PullRequest
0 голосов
/ 05 февраля 2020

Я загрузил сохраненный поиск в свой сценарий 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
  }

1 Ответ

0 голосов
/ 05 февраля 2020

Вам необходимо заменить массив 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];
...