SuiteScript 2.0 搜索过滤器抛出 UNEXPECTED _ERROR
SuiteScript 2.0 search filters are throwing an UNEXPECTED _ERROR
我正在尝试将手机号码 and/or 电子邮件号码与客户档案相匹配。我已经创建了一个函数来为我做这件事。当我将过滤器添加到搜索时,我得到一个 UNEXPECTED_ERROR 抛出。
function getCustomerByMobilePhoneAndOrEmail(mobile, email)
{
var filterEmail = search.createFilter({
name : 'email',
operator : search.Operator.ANYOF,
values : [ email ]
});
/*var filterMobile = search.createFilter({
name : 'formulanumeric',
operator : search.Operator.EQUALTO,
values : ["1"],
formula : "CASE WHEN {mobilephone} LIKE '"+mobile+"' THEN 1 ELSE 0 END",
});*/
var crit = search.create({
type: search.Type.CUSTOMER,
filters: [filterEmail]
});
log.debug({
title: "Criteria",
details: JSON.stringify(crit)
});
var results = getAllResults(crit);
log.debug({
title: "Results",
details: JSON.stringify(results)
});
}
注意:我现在已经注释掉了移动设备,因为我正试图让电子邮件先工作。
我已经根据我执行的其他脚本搜索检查了这个,但我不明白为什么这个会抛出错误。
经过测试,我得到了同样的意外错误。然后看到搜索运算符:电子邮件地址字段类型不支持 ANYOF。
将运算符更改为 search.Operator.IS 并且有效。
检查 SuiteAnswers:SuiteScript 1.0 搜索运算符(ID:10565),了解每种字段类型支持的 table 运算符。
我正在尝试将手机号码 and/or 电子邮件号码与客户档案相匹配。我已经创建了一个函数来为我做这件事。当我将过滤器添加到搜索时,我得到一个 UNEXPECTED_ERROR 抛出。
function getCustomerByMobilePhoneAndOrEmail(mobile, email)
{
var filterEmail = search.createFilter({
name : 'email',
operator : search.Operator.ANYOF,
values : [ email ]
});
/*var filterMobile = search.createFilter({
name : 'formulanumeric',
operator : search.Operator.EQUALTO,
values : ["1"],
formula : "CASE WHEN {mobilephone} LIKE '"+mobile+"' THEN 1 ELSE 0 END",
});*/
var crit = search.create({
type: search.Type.CUSTOMER,
filters: [filterEmail]
});
log.debug({
title: "Criteria",
details: JSON.stringify(crit)
});
var results = getAllResults(crit);
log.debug({
title: "Results",
details: JSON.stringify(results)
});
}
注意:我现在已经注释掉了移动设备,因为我正试图让电子邮件先工作。
我已经根据我执行的其他脚本搜索检查了这个,但我不明白为什么这个会抛出错误。
经过测试,我得到了同样的意外错误。然后看到搜索运算符:电子邮件地址字段类型不支持 ANYOF。
将运算符更改为 search.Operator.IS 并且有效。
检查 SuiteAnswers:SuiteScript 1.0 搜索运算符(ID:10565),了解每种字段类型支持的 table 运算符。