Фильтры поиска SuiteScript 2.0 выдают НЕОЖИДАННУЮ ошибку

#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. Также можно вручную выполнить поиск. Отображаются только допустимые операторы.