Управление доступом к элементам формы объектов

Администрирование - Защита, права, пароли

Возникла ситуация, что очень много приходилось прописывать для пользователей доступ к элементам формы. Возникла идея сделать что-нибудь более универсальное, чтобы можно было установить галки, и сразу применились изменения.

Были созданы три регистра сведений.

Первый "ДоступКОбъектамКонфигурации" 
(в нем хранится Имя объекта и пользователь,а так же признаки доступ разрешен(это создание и открытие) и толькопросмотр(толькоПросмотр=истина если признак установлен))
измерения
-Объект(тип строка)
-Пользователь(справочник ссылка "Пользователи")
Ресурсы 
-ДоступРазрешен(булево)
-ТолькоПросмотр(булево)

Второй "ДоступКОбъектамКонфигурации_Реквизиты"
в данном регистре хранится имя объекта и имя реквизита объекта,а также признак доступа(Если ДоступРазрешен_Реквизит=истина,то будет доступен элемент формы с данным реквизитом)
-измерения
-Объект(тип строка)
-ИмяРеквизита(тип строка)
-Пользователь(справочник ссылка "Пользователи")
Ресурсы 
-ДоступРазрешен_Реквизит(булево)

 Третий"ДоступКОбъектамКонфигурации_ТабличныеЧасти"
в данном регистре хранится имя объекта ,имя табличной части объекта ,имя реквизита  таб. части объекта,а также признак доступа(Если ДоступРазрешен_РеквизитТабличнойЧасти=истина,то будет доступен элемент формы табличной части с данным реквизитом)
-измерения
-Объект(тип строка)
-Объект_ТабличнаяЧасть(тип строка)
-ИмяРеквизита_ТабличнойЧасти(тип строка)R03;R03;R03;R03;R03;
-Пользователь(справочник ссылка "Пользователи")
Ресурсы 
-ДоступРазрешен_РеквизитТабличнойЧасти(булево)

Код весь из модуля обработки я вынес в общий модуль и вызываю процедуру из формы ПередОткрытием().

Название процедуры для вызова из формы. 

Работа_С_Доступом_К_ЭлементамФормыОбъекта.ПроверитьИУстановитьДоступКЭлементамФормы(Работа_С_Доступом_К_ЭлементамФормыОбъекта.ОпределитьВидОбъектаПоТипуДляОбъекта(ЭтотОбъект),ЭтотОбъект.Ссылка,ЭтаФорма,ПараметрыСеанса.ТекущийПользователь,Отказ);    

Это, конечно, более актуально для новых объектов, которые создаются в базе (новых справочников и документов), потому что некоторые "тяжелые" документы надо тестировать, чтобы какие-то надписи, статусы  правильно отображались, но если поставить цель, можно и это сделать)))).

Некоторые "не тяжелые" объекты уже перевел, и работает хорошо.

Сейчас перейдем к пункту, как это работает.

Выбираем пользователя. Для него отображается список объектов и его параметров доступа. По умолчанию все указаны будут в значении, равном ложь.

Если ставим галку для объекта (пример справочник Номенклатура") "доступ разрешен" тогда можно открывать и создавать новые элементы.

Если ставим галку для объекта "только просмотр" тогда ЭлементыФормы.толькоПросмотр= истина.

Также можно устанавливать доступ к реквизитам формы для каждого конкретного реквизита, как реквизита документа, так и реквизита табличной части.

Подойдет для любой конфигурации.

Тестировалось на УТ 10.3. Версия платформы - 8.3 (8.3.5.1625)

Надеюсь, кому-то понадобится моя разработка) буду благодарен за критику и советы. Всем мир!)

Скачать файлы

Наименование Файл Версия Размер
Управления доступом к элементам формы объектов:
.epf 15,98Kb
27.03.18
1
.epf 15,98Kb 1 Скачать

См. также

Комментарии
2. Вадим . (ice-net) 4 28.03.18 10:54 Сейчас в теме
Также можно устанавливать доступ к реквизитам формы для каждого конкретного реквизита, как реквизита документа, так и реквизита табличной части.

только надо позаботиться, что бы доступность/видимость/толькопросмотр запрещаемого элемента формы не изменялся при взаимодействии с другими элементами формы.
3. Сергей Езерский (serg-lom89) 17 28.03.18 13:28 Сейчас в теме
(2)это надо тестировать для объектов которые уже в базе.для новых все норм должно быть.
Оставьте свое сообщение