当我在下面运行testThatFails
时,我收到以下错误:
MISMATCHED_SEARCH_PARENTHESIS:搜索错误:括号不平衡。
为什么我会收到错误?
如果我将is
更改为haskeywords
,则会有效(testThatSucceeds
)。
如果我取出,"AND",["line","equalto","1"]
,则有效(anotherTestThatSucceeds
)。
如果我将numbertext
更改为number
,则会有效(yetAnotherTestThatSucceeds
)。
define(['N/search'], function (nSearch) {
function testThatFails() {
var objSearch = nSearch.create({
type: 'transaction',
filters: [[["numbertext","is","1"],"AND",["line","equalto","1"]]],
columns: [nSearch.createColumn({
name: 'internalid'
})]
});
var resultSet = objSearch.run();
resultSet.getRange({ start: 0, end: 1000 });
}
function testThatSucceeds() {
var objSearch = nSearch.create({
type: 'transaction',
filters: [[["numbertext","haskeywords","1"],"AND",["line","equalto","1"]]],
columns: [nSearch.createColumn({
name: 'internalid'
})]
});
var resultSet = objSearch.run();
resultSet.getRange({ start: 0, end: 1000 });
}
function anotherTestThatSucceeds() {
var objSearch = nSearch.create({
type: 'transaction',
filters: [[["numbertext","is","1"]]],
columns: [nSearch.createColumn({
name: 'internalid'
})]
});
var resultSet = objSearch.run();
resultSet.getRange({ start: 0, end: 1000 });
}
function yetAnotherTestThatSucceeds() {
var objSearch = nSearch.create({
type: 'transaction',
filters: [[["number","is","1"],"AND",["line","equalto","1"]]],
columns: [nSearch.createColumn({
name: 'internalid'
})]
});
var resultSet = objSearch.run();
resultSet.getRange({ start: 0, end: 1000 });
}
});
答案 0 :(得分:1)
numbertext
字段未列为supported filter。您可以使用它来过滤搜索,但可能会导致意外行为。您应该使用number
代替。
答案 1 :(得分:0)
我能看到的唯一不平衡的括号是紧跟在define
之后的第一个,在你的例子中没有结束。不知道为什么会允许其他功能工作。