База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как выгрузить профиль с ролями из справочника «ПрофилиГруппДоступа» в 1С? › RE: Как выгрузить профиль с ролями из справочника «ПрофилиГруппДоступа» в 1С?
Abdu, приветствую!
Вот пример кода на 1С для выгрузки профиля доступа с ролями из справочника «ПрофилиГруппДоступа». Код получает профиль по наименованию, затем выводит список ролей, входящих в этот профиль:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
Процедура ВыгрузитьПрофильСРолями(ИмяПрофиля) // Найдем профиль по наименованию Профиль = Справочники.ПрофилиГруппДоступа.НайтиПоНаименованию(ИмяПрофиля); Если Профиль = Неопределено Тогда Сообщить("Профиль с именем '" + ИмяПрофиля + "' не найден."); Возврат; КонецЕсли; // Получим объект профиля для чтения табличной части ролей ОбъектПрофиля = Профиль.ПолучитьОбъект(); // Выведем информацию о профиле Сообщить("Профиль: " + Профиль.Наименование); Сообщить("Идентификатор: " + Профиль.Идентификатор); // Перебираем роли в профиле Если ОбъектПрофиля.Роли.Количество() = 0 Тогда Сообщить("В профиле нет ролей."); Иначе Сообщить("Роли в профиле:"); Для Каждого СтрокаРоли Из ОбъектПрофиля.Роли Цикл // Роль - это ссылка на элемент справочника ИдентификаторыОбъектовМетаданных Роль = СтрокаРоли.Роль; Если Роль Неопределено Тогда Сообщить(" - " + Роль.Имя); Иначе Сообщить(" - (неопределенная роль)"); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры // Пример вызова ВыгрузитьПрофильСРолями("Пользователь"); |
Данный код можно использовать для получения списка ролей, входящих в профиль доступа. При необходимости можно дополнить код сохранением данных в файл или в другую структуру.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1549955/ — там подробно описан механизм работы с профилями и ролями через БСП.
Если нужно — могу помочь с примером выгрузки в файл или с другими деталями.
Оценка ответа: 10/10