Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Фильтр техподдержки.

00 голосов
4
Возможно вопрос покажется глупым, особенно опытным админам, но все таки.
Подскажите пожалуйста, желательно как можно конкретнее, как настроить фильтр обращений в техподдержку в публичном разделе? Т.е. как расширить колличество фильтров? Например: есть масса обращений разных категорий, нужно сделать возможность фильтрации обращений по категориям. Долго искал на своем сайте, пробежал глазами несколько учебных курсов, но не нашел.
спросил 03 Июль, 13 от Ulrik (260 баллов)

4 Ответы

00 голосов
актуальная тема, её мало кто поднимает но она нужна.
У меня стоит немного другая задача, но схожая по смыслу: есть список id обращений, мне нужно вывести этот список. Имеется функция:
Код
CTicket::GetList($by, $order, $arFilter)

которая делает выборку из списка обращений. Я же делаю следующее:
Код
$delimiter = $find = "";
foreach($tickets as $key => $ticket_id){
   $find .= $delimiter . $ticket_id;
   $delimiter = " | "; // правильно ли я использую знак | если мне нужны только эти обращения
}
$arFilter = Array("ID"=>$find);
ответил 03 Июль, 13 от Forze (180 баллов)
00 голосов
имеется список id-обращений, список большой. Как его передать в фильтр ТП для того чтобы только они были в списке, у меня выводятся вместе с ними и другие.

CTicket::GetList( $by, $order, $arFilter=array("ID"=>$ids) );

например есть два id обращения: 8 и 9

$ids = '8 | 9'; // выводит обращения с id: 18, 19, 59, 68...
$ids = '8 & 9'; // выводит обращения с id: 189, 198, 289, 298...
$ids = '8 , 9'; // вообще не выводит ничего

а мне нужно чтобы только те обращения которые имеют id: 8,9
ответил 11 Авг, 13 от Forze (180 баллов)
00 голосов
$arFilter=array("ID"=>$ids, "ID_EXACT_MATCH"=>"Y") ?
ответил 10 Ноя, 13 от LediDrak (180 баллов)
00 голосов
Ответ Тех-поддержки таков:
Цитата
Добрый день!

К сожалению, данный функционал не реализован, фильтрация при сложной логике осуществляется по содержанию, а не по строгому соответствию указанным значениям.

Цитата
nukemonk пишет:
$arFilter=array("ID"=>$ids, "ID_EXACT_MATCH"=>"Y") ?

выдаёт вот такой SQL и результат правильный, КРУТ, спасибо:
Код
(T.ID='8' and T.ID is not null)
  OR  
(T.ID='9' and T.ID is not null)


но я немного внес изменения в их класс, там теперь SQL вот такой:
Код
T.ID IN (8,9)
ответил 18 Фев, 14 от Forze (180 баллов)