Работает ли сложная логика в фильтрах в методе crm.contact.list?
Используется js библиотекаhttps://api.bitrix24.com/api/v1/
Нужно выбрать контакты по вхождению подстроки в полях NAME, LAST_NAME и SECOND_NAME.
Код говорит сам за себя.
В результате формируется запрос с параметрами
В результате возвращаются все контакты и похоже часть filt["0"] вообще игнорируется.
Пример фильра взят отсюда (примеры 2 и 5)
https://dev.1c-bitrix.ru/rest_help/crm/dynamic/methodscrmitem/crm_item_list.php
Может я чего-то не так понял или для контактов оно не работает?
Используется js библиотека
Нужно выбрать контакты по вхождению подстроки в полях NAME, LAST_NAME и SECOND_NAME.
Код говорит сам за себя.
Код |
---|
var filt; var sname = "иван"; filt = {"=TYPE_ID": "CLIENT", "=SOURCE_ID": "CALL", "=HAS_PHONE": "Y"} filt["0"] = { "LOGIC": "OR", "0": {"%NAME": sname}, "1": {"%SECOND_NAME": sname}, "2": {"%LAST_NAME": sname} }; BX24.callMethod('crm.contact.list', { order: {"DATE_CREATE": "ASC"}, filter: filt, select: ["ID", "NAME", "SECOND_NAME", "LAST_NAME", "PHONE", "HONORIFIC"] }, function (result) { if (result.error()) { console.log(result.error()); } else { console.dir(result.data()); if (result.more()) result.next(); } }); |
В результате формируется запрос с параметрами
Код |
---|
'auth=<token>&&order[DATE_CREATE]=ASC&filter[%3DTYPE_ID]=CLIENT&filter[%3DSOURCE_ID]=CALL&filter[%3DHAS_PHONE]=Y&filter[0][LOGIC]=OR&filter[0][0][%25NAME]=%D0%B8%D0%B2%D0%B0%D0%BD&filter[0][1][%25SECOND_NAME]=%D0%B8%D0%B2%D0%B0%D0%BD&filter[0][2][%25LAST_NAME]=%D0%B8%D0%B2%D0%B0%D0%BD&select[0]=ID&select[1]=NAME&select[2]=SECOND_NAME&select[3]=LAST_NAME&select[4]=PHONE&select[5]=HONORIFIC' |
Пример фильра взят отсюда (примеры 2 и 5)
Может я чего-то не так понял или для контактов оно не работает?