netsuite - SuiteScript 2.0 搜索过滤器抛出 UNEXPECTED _ERROR
问题描述
我正在尝试将手机号码和/或电子邮件号码与客户文件相匹配。我已经创建了一个函数来为我做这件事。当我将过滤器添加到搜索中时,会抛出 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 Search Operators (ID: 10565) 以获取每种字段类型支持的运算符表。
推荐阅读
- swift - FireStore - 如何绕过数组“不包含”查询
- python - python: traceback.print_stack(): 如何着色和重新格式化输出
- android - 在 OSX 上使用 buildozer 将 kivy/python 3.7 应用程序编译为 android apk 时出错 - Silex & pypandoc
- bash - 已解决,在增加变量之前等待从循环启动的几个进程的结束在 Bash 中不起作用
- string - 使用 Swift 从单个字符串中解析四个逗号分隔值
- relational-algebra - 如何在关系代数计算器中找到元组的平均值
- virtualbox - 如何从 linux 命令行启用 VT-x
- java - 将 Java 类转换为 Kotlin
- c++ - 在 CPLEX 中使用布尔变量编写 if 语句的问题
- google-chrome-extension - 仅在最后一个或倒数第二个版本的 google chrome 上安装 chrome 扩展