我已经在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
}
您需要替换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];