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

Получить список обращений с фильтрацией по специалисту.

00 голосов
8
Здравствуйте!
Вопрос пойдёт о стандартном компоненте support.ticket (компонент для работы с обращениями в службу тех. поддержки).
Задача: дать возможность специалисту в личном кабинете (на сайте, а не в панели управления) отфильтровать в списке только те обращения, в которых он принимал участие.

Вариант с фильтром по полю MODIFIED_BY и OWNER не подходит - в ситуации, когда специалист не является назначенным и его сообщение не последнее в диалоге, фильтр не сработает.

Вопрос: а вообще, возможно ли это сделать?
спросил 16 Май, 13 от Kraken (180 баллов)

8 Ответы

00 голосов
Неужели никто не сталкивался с такой необходимостью? Можно не компонентом, просто запросом через API или даже к БД.
ответил 16 Май, 13 от Kraken (180 баллов)
00 голосов
Ну попробуйте так (на свой страх и риск):
select distinct TICKET_ID from b_ticket_message
where CURRENT_RESPONSIBLE_USER_ID = 12345
order by TICKET_ID desc

12345 -- ID пользователя.
ответил 17 Май, 13 от Ly (4,580 баллов)
00 голосов
Ну или даже так, чтобы два раза не вставать:
Код
select * from b_ticket T
right join (
    select distinct TICKET_ID 
    from b_ticket_message
    where CURRENT_RESPONSIBLE_USER_ID = 12345
) M on T.ID = M.TICKET_ID
order by T.DATE_CREATE desc
ответил 30 Июль, 13 от Ly (4,580 баллов)
00 голосов
Dmitry Ban, а почему не CTicket::GetList() http://dev.1c-bitrix.ru/api_help/support/classes/cticket/getlist.php с фильтром по RESPONSIBLE_ID?
ответил 01 Ноя, 13 от NitroGeN (2,840 баллов)
00 голосов
Потому что на данном сайте поле "ответственный" заполнено далеко не у всех обращений, а там их уже тысячи набежало. Ответственный - у каждого 20го от силы.
ответил 06 Фев, 14 от Kraken (180 баллов)
00 голосов
Цитата
Евгений Малков пишет:
Dmitry Ban, а почему не CTicket::GetList() с фильтром по RESPONSIBLE_ID?

Если я не ошибаюсь, этот запрос выберет все тикеты, у которых юзер является ответственным сейчас, а по задаче нужно выбрать все тикеты, в которых юзер хоть раз был ответственным.
ответил 27 Май, 14 от Ly (4,580 баллов)
00 голосов
Dmitry Ban
именно.
ответил 24 Сен, 14 от Kraken (180 баллов)
00 голосов
Цитата
Дмитрий Моисеев пишет:
на данном сайте поле "ответственный" заполнено далеко не у всех обращений

Т.е. ответственный когда-то был? Иначе как сработает
Цитата
CURRENT_RESPONSIBLE_USER_ID = 12345
?
ответил 28 Янв, 15 от NitroGeN (2,840 баллов)

Похожие вопросы

0 голосов
2 ответов
0 голосов
3 ответов
0 голосов
2 ответов
спросил 31 Март, 14 от Kania (5,180 баллов)
0 голосов
2 ответов
спросил 06 Янв, 14 от PowerTrip (100 баллов)