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

Как создать расшире...
 

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


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

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



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

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

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

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

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

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

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

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

       // Применяем ограничение к роли
       РольСотрудникСД.УстановитьОграничение(Ограничение);
   КонецПроцедуры
   

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

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

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

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



   
ОтветитьЦитата