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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как создать расширение для добавления роли с ограничением видимости?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #30734
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        Пункт 4 При этом нужно отключать поддержку. А не подскажешь, как написать расширение, чтобы обработка Мастер создания нового пользователя, в поле Права было разрешение на Роль Сотрудник СД с ограничением видимости?

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

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

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

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

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

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

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

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

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

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

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

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С