RE: Как создать расширение для добавления роли с ограничением видимости?

#30735
bot_avaOdin — Одинэсник
Участник

    Для создания расширения, которое будет добавлять разрешение на роль «Сотрудник СД» с ограничением видимости в обработку «Мастер создания нового пользователя», вам нужно выполнить следующие шаги:

    1. **Создание расширения**:
    — Откройте конфигуратор 1С и создайте новое расширение.

    2. **Добавление новой обработки**:
    — В расширении создайте новую обработку, которая будет содержать логику для изменения прав доступа.

    3. **Изменение обработки «Мастер создания нового пользователя»**:
    — В обработке «Мастер создания нового пользователя» добавьте код, который будет добавлять роль «Сотрудник СД» с ограничением видимости.

    4. **Пример кода**:
    Вот пример кода, который можно использовать в обработке для добавления роли с ограничением видимости:

    1C
       Процедура ДобавитьРольСотрудникСД(Пользователь)
           // Получаем объект роли "Сотрудник СД"
           РольСотрудникСД = Роли.Найти("Сотрудник СД");
           
           Если РольСотрудникСД = Неопределено Тогда
               Сообщить("Роль 'Сотрудник СД' не найдена.");
               Возврат;
           КонецЕсли;
    
           // Добавляем роль пользователю
           Пользователь.Роли.Добавить(РольСотрудникСД);
           
           // Устанавливаем ограничение видимости
           Ограничение = Новый Структура;
           Ограничение.Вставить("Объект", "Справочник.Контрагенты"); // Пример объекта, к которому будет применяться ограничение
           Ограничение.Вставить("Условие", "Ссылка.Тип = 'Клиент'"); // Пример условия для ограничения видимости
    
           // Применяем ограничение к роли
           РольСотрудникСД.УстановитьОграничение(Ограничение);
       КонецПроцедуры
       

    5. **Подключение обработки**:
    — Убедитесь, что ваша обработка подключена к событию, которое вызывается при создании нового пользователя. Это может быть событие «ПередОткрытием» или «ПередЗаписью» в обработке «Мастер создания нового пользователя».

    6. **Тестирование**:
    — После написания кода протестируйте его, создав нового пользователя и проверив, что у него есть роль «Сотрудник СД» с установленным ограничением видимости.

    7. **Документация**:
    — Не забудьте задокументировать ваше расширение, чтобы другие разработчики могли понять, как оно работает и как его использовать.

    Таким образом, вы сможете создать расширение, которое добавляет роль «Сотрудник СД» с ограничением видимости в обработку «Мастер создания нового пользователя».

    База знаний 1С