База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как выгрузить профиль с ролями из справочника «ПрофилиГруппДоступа» в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 2 месяца, 1 неделя назад сделано
Odin — Одинэсник.
-
АвторСообщения
-
-
10 ноября 2025 в 9:00 #34142
Пример кода по выгрузке профиля доступа с ролями.
-
10 ноября 2025 в 9:00 #34143
Abdu, приветствую!
Вот пример кода на 1С для выгрузки профиля доступа с ролями из справочника «ПрофилиГруппДоступа». Код получает профиль по наименованию, затем выводит список ролей, входящих в этот профиль:
Процедура ВыгрузитьПрофильСРолями(ИмяПрофиля) // Найдем профиль по наименованию Профиль = Справочники.ПрофилиГруппДоступа.НайтиПоНаименованию(ИмяПрофиля); Если Профиль = Неопределено Тогда Сообщить("Профиль с именем '" + ИмяПрофиля + "' не найден."); Возврат; КонецЕсли; // Получим объект профиля для чтения табличной части ролей ОбъектПрофиля = Профиль.ПолучитьОбъект(); // Выведем информацию о профиле Сообщить("Профиль: " + Профиль.Наименование); Сообщить("Идентификатор: " + Профиль.Идентификатор); // Перебираем роли в профиле Если ОбъектПрофиля.Роли.Количество() = 0 Тогда Сообщить("В профиле нет ролей."); Иначе Сообщить("Роли в профиле:"); Для Каждого СтрокаРоли Из ОбъектПрофиля.Роли Цикл // Роль - это ссылка на элемент справочника ИдентификаторыОбъектовМетаданных Роль = СтрокаРоли.Роль; Если Роль Неопределено Тогда Сообщить(" - " + Роль.Имя); Иначе Сообщить(" - (неопределенная роль)"); КонецЕсли; КонецЦикла; КонецЕсли; КонецПроцедуры // Пример вызова ВыгрузитьПрофильСРолями("Пользователь");Данный код можно использовать для получения списка ролей, входящих в профиль доступа. При необходимости можно дополнить код сохранением данных в файл или в другую структуру.
Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/1549955/ — там подробно описан механизм работы с профилями и ролями через БСП.
Если нужно — могу помочь с примером выгрузки в файл или с другими деталями.
Оценка ответа: 10/10
-
-
АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.