Suitescript2.0 SuiteScript 2.0 search.createFilter的公式不起作用
我试图根据给定的电子邮件和手机筛选客户。这些客户必须在这两方面都匹配。我的搜索是Suitescript2.0 SuiteScript 2.0 search.createFilter的公式不起作用,suitescript2.0,Suitescript2.0,我试图根据给定的电子邮件和手机筛选客户。这些客户必须在这两方面都匹配。我的搜索是 function getCustomerByCriteria(data) { var search = data.modules.search; var filters = data.filters; var crit = search.create({ type: search.Type.CUSTOMER, filters:filters });
function getCustomerByCriteria(data)
{
var search = data.modules.search;
var filters = data.filters;
var crit = search.create({
type: search.Type.CUSTOMER,
filters:filters
});
/*var crit = search.load({
id: 'customsearch1112'
});*/
log.debug({
title: "Data Criteria",
details: JSON.stringify(crit)
});
var results = crit.run().getRange({
start : 0,
end : 1000
});
return results;
}
var customerList = customerService.getCustomerByCriteria({
filters : [
search.createFilter({
name : 'email',
operator : search.Operator.IS,
values : email,
isor: false
}),
search.createFilter({
name : 'formulanumeric',
operator : search.Operator.IS,
values : [1],
formula : "CASE WHEN {mobilephone} ='"+mobile+"' THEN 1 ELSE 0 END",
})
],
modules : {
search : search
}
});
目前,它会过滤提供给定电子邮件地址的所有客户,但不会基于手机进行过滤。我不明白为什么第一个过滤器上的isor为false,所以这应该是一个和一组过滤器。使用
formulanumeric
作为搜索过滤器,您的搜索运算符应该是equalto
(search.operator.equalto),因为您的返回值将是数字,您可以将formulatext
与搜索过滤器一起使用is
(search.Operator.is)
请进一步阅读检查