Возникла идея сделать что-нибудь более универсальное, чтобы можно было установить галки, и сразу применились изменения.
Были созданы три регистра сведений.
Первый "ДоступКОбъектамКонфигурации"
(в нем хранится Имя объекта и пользователь,а так же признаки доступ разрешен(это создание и открытие) и толькопросмотр(толькоПросмотр=истина если признак установлен))
измерения
-Объект(тип строка)
-Пользователь(справочник ссылка "Пользователи")
Ресурсы
-ДоступРазрешен(булево)
-ТолькоПросмотр(булево)
Второй "ДоступКОбъектамКонфигурации_Реквизиты"
в данном регистре хранится имя объекта и имя реквизита объекта,а также признак доступа(Если ДоступРазрешен_Реквизит=истина,то будет доступен элемент формы с данным реквизитом)
—измерения
-Объект(тип строка)
-ИмяРеквизита(тип строка)
-Пользователь(справочник ссылка "Пользователи")
Ресурсы
-ДоступРазрешен_Реквизит(булево)
Третий"ДоступКОбъектамКонфигурации_ТабличныеЧасти"
в данном регистре хранится имя объекта ,имя табличной части объекта ,имя реквизита таб. части объекта,а также признак доступа(Если ДоступРазрешен_РеквизитТабличнойЧасти=истина,то будет доступен элемент формы табличной части с данным реквизитом)
—измерения
-Объект(тип строка)
-Объект_ТабличнаяЧасть(тип строка)
-ИмяРеквизита_ТабличнойЧасти(тип строка)R03;R03;R03;R03;R03;
-Пользователь(справочник ссылка "Пользователи")
Ресурсы
-ДоступРазрешен_РеквизитТабличнойЧасти(булево)
Код весь из модуля обработки я вынес в общий модуль и вызываю процедуру из формы ПередОткрытием().
Название процедуры для вызова из формы.
Работа_С_Доступом_К_ЭлементамФормыОбъекта.ПроверитьИУстановитьДоступКЭлементамФормы(Работа_С_Доступом_К_ЭлементамФормыОбъекта.ОпределитьВидОбъектаПоТипуДляОбъекта(ЭтотОбъект),ЭтотОбъект.Ссылка,ЭтаФорма,ПараметрыСеанса.ТекущийПользователь,Отказ);
Это, конечно, более актуально для новых объектов, которые создаются в базе (новых справочников и документов), потому что некоторые "тяжелые" документы надо тестировать, чтобы какие-то надписи, статусы правильно отображались, но если поставить цель, можно и это сделать)))).
Некоторые "не тяжелые" объекты уже перевел, и работает хорошо.
Сейчас перейдем к пункту, как это работает.
Выбираем пользователя. Для него отображается список объектов и его параметров доступа. По умолчанию все указаны будут в значении, равном ложь.
Если ставим галку для объекта (пример справочник Номенклатура") "доступ разрешен" тогда можно открывать и создавать новые элементы.
Если ставим галку для объекта "только просмотр" тогда ЭлементыФормы.толькоПросмотр= истина.
Также можно устанавливать доступ к реквизитам формы для каждого конкретного реквизита, как реквизита документа, так и реквизита табличной части.
Подойдет для любой конфигурации.
Тестировалось на УТ 10.3. Версия платформы — 8.3 (8.3.5.1625)
Надеюсь, кому-то понадобится моя разработка) буду благодарен за критику и советы. Всем мир!)
только надо позаботиться, что бы доступность/видимость/толькопросмотр запрещаемого элемента формы не изменялся при взаимодействии с другими элементами формы.
(2)это надо тестировать для объектов которые уже в базе.для новых все норм должно быть.
Добрый день. Скачал вашу обработку, но там отсутствует сам код, который, вы говорите, вынесли в общий модуль Работа_С_Доступом_К_ЭлементамФормыОбъекта, можно ли его как то получить?
(4)
напишите свой адрес электронной почты я с вам свяжусь по почте.
(5) s.melnikov@adeo.pro
(6) отправил на почту