suitescript2.0 - SuiteScript 2.0 search.createFilter 公式不起作用
问题描述
我正在尝试根据给定的电子邮件和手机过滤客户。这些客户必须在两者上都匹配。我的搜索是
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 是错误的,所以这应该是一组过滤器。
解决方案
作为formulanumeric
搜索过滤器,您的搜索运算符应该是equalto
(search.Operator.EQUALTO),因为您的返回值将是数字,而您可以将formulatext
搜索过滤器与is
(search.Operator.IS) 一起使用。
如需进一步阅读,请查看NetSuite 的 Search Operator。
推荐阅读
- android - android Firebase 应用程序已停止
- php - 限制数组成员依赖于不同的数组和计数
- python - Flask webapp从移动图片库上传照片
- snowflake-cloud-data-platform - ON 子句中的聚合函数无效 - 在 Snowflake SQL 中加入数组重叠/数组包含
- php - 我正在尝试添加乌尔都语字体,但它不起作用
- c - 结构、typedef 和 malloc、calloc
- android - ViewPager 中 Fragment 中的 MapView:调用 getMapAsync() 后永远不会调用 onMapReady()
- wso2-am - WSO2 APIM 3.0.0 MB STORE database
- qt - PlaceholderText 无法在 QTextEdit 中显示
- javascript - 如何在滚动时补偿android移动浏览器的隐藏地址栏?如何在所有浏览器中正确测量“vh”?