Creating Searches and working with Search Filters in SuiteScript 2.0.
USING CREATEFILTER
// 2.0 - Console
require(["N/search"], function (s) {
s.create({
type: s.Type.EMPLOYEE,
filters: [
s.createFilter({
name: "hiredate",
operator: s.Operator.WITHIN,
values: "lastRollingYear"
}),
s.createFilter({name: "isinactive", operator: s.Operator.IS, values: "F"})
]
}).run().each(processResult);
function processResult(result) {
// ...
return true;
}
});
USING OBJECT DESCRIPTORS
require(["N/search"], function (s) {
s.create({
type: s.Type.EMPLOYEE,
filters: [
{
name: "hiredate",
operator: s.Operator.WITHIN,
values: "lastRollingYear"
}, {
name: "isinactive",
operator: s.Operator.IS,
values: "F"
}
]
}).run().each(processResult);
function processResult(result) {
// ...
return true;
}
});
USING FILTER EXPRESSIONS
require(["N/search"], function (s) {
s.create({
type: s.Type.EMPLOYEE,
filters: [
["hiredate", s.Operator.WITHIN, "lastRollingYear"], "and"
["isinactive", s.Operator.IS, "F"]
]
}).run().each(processResult);
function processResult(result) {
// ...
return true;
}
});
FILTER MANIPULATION
define([“N/search”], function (s) {
var mySearch = s.load({
// ...
});
});
mySearch.filters
mySearch.filters = s.Filter[];
mySearch.filters.push(s.Filter);
mySearch.filters = mySearch.filters.concat(s.Filter[]);
mySearch.filters.pop(); // Remove last filter
mySearch.filters.shift(); // Remove first filter