Фильтры поиска SuiteScript 2.0 генерируют НЕОЖИДАННУЮ ОШИБКУ - PullRequest
1 голос
/ 28 марта 2019

Я пытаюсь сопоставить номер мобильного телефона и / или номер электронной почты с файлом клиента. Я создал функцию, чтобы сделать это для меня. Когда я добавляю фильтры к поиску, я получаю 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 Ответ

2 голосов
/ 28 марта 2019

После тестирования я получил такую ​​же неожиданную ошибку. Затем увидел, что оператор поиска: ANYOF не поддерживается для типа поля Адрес электронной почты.

Изменен оператор на search.Operator.IS и все заработало.

Проверьте SuiteAnswers: Операторы поиска SuiteScript 1.0 (ID: 10565) для таблицы поддерживаемых операторов для каждого типа поля.

...