Как взять роли нескольких профилей с помощью запроса, чтобы роли не повторялись в 1С?

Рейтинг: 0Ответов: 1Опубликовано: 26.01.2023

Есть список профилей доступа. Мне нужно получить роли, которые в них лежат. И надо сделать так, чтобы роли не повторялись в массиве с результатом. Но как это можно сделать?

Сейчас у меня есть запрос, который получает массив с одним профилем из базы 1С. Один профиль просто для теста. Как выбрать несколько профилей я понимаю. Еще, чтобы в результате были различные варианты, вроде, можно после ВЫБРАТЬ написать РАЗЛИЧНЫЕ. Но как взять не профили, а их роли?

ВЫБРАТЬ
|   ПрофилиГруппДоступа.Ссылка КАК Ссылка
|ИЗ
|   Справочник.ПрофилиГруппДоступа КАК ПрофилиГруппДоступа
|ГДЕ
|   ПрофилиГруппДоступа.Наименование = ""Администратор""

Если просто написать ПрофилиГруппДоступа.Роли КАК Роли вместо ПрофилиГруппДоступа.Ссылка КАК Ссылка, то возвращается что-то не то. Какая-то таблица значений, в которой я не могу найти роли.

И еще в таком случае, если выбрано n профилей, то вернется n массивов с ролями. А это не подходит, потому что в таком случае могут попасться одинаковые роли.

Ответы

▲ 2Принят
|ВЫБРАТЬ РАЗЛИЧНЫЕ
|   ТаблицаРолейПрофиля.Роль КАК Роль
|ИЗ
|   Справочник.ПрофилиГруппДоступа.Роли КАК ТаблицаРолейПрофиля
|ГДЕ
|   ТаблицаРолейПрофиля.Ссылка В (&Профили)