#netsuite #suitescript2.0
#netsuite #suitescript2.0
Вопрос:
Я пытаюсь сопоставить номер мобильного телефона и / или номер электронной почты с файлом клиента. Я создал функцию, которая делает это за меня. Когда я добавляю фильтры к поиску, я получаю сообщение 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)
});
}
ПРИМЕЧАНИЕ: Пока я закомментировал мобильное устройство, поскольку пытаюсь заставить электронное письмо работать первым.
Я проверил это на других выполненных мной поисковых запросах по сценариям, и я не понимаю, почему этот выдает ошибку.
Ответ №1:
После тестирования я получил ту же неожиданную ошибку. Затем увидел, что оператор поиска: ANYOF не поддерживается для типа поля адреса электронной почты.
Сменил оператор на search.Оператор.ЕСТЬ, и это сработало.
Проверьте SuiteAnswers: операторы поиска SuiteScript 1.0 (ID: 10565) для таблицы поддерживаемых операторов для каждого типа поля.
Комментарии:
1. Также можно вручную выполнить поиск. Отображаются только допустимые операторы.