gifts2017

Подсистема контроля доступа к элементам форм, привязка набора прав к должности. для обычного приложения. 1с 8.2.

Опубликовал Алексей Гордеев (allert73) в раздел Администрирование - Защита, права, пароли

Подсистема выполняет две задачи
1. позволяет назначать роли пользователям иcходя из установленной пользователю должности.
2. позволяет назначать доступность и видимость реквизитов форм в том числе страниц панелей и колонок табличный частей иcходя из должности.

Назначений ролей и интерфейсов пользователю происходит через подписку на событие, записи справочника пользователи, или при проведении документа "Набор прав".

Назначение доступности и видимости форм и реквизитов форм, происходит через обработчики событий формы "ПриОткрытии" и "ПередОткрытием".

Внедрение подсистемы не усложнит обновление типовых продуктов т.к.

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

Важно! (Действия связанные с изменением модулей форм, а также связанные с назначением ролей пользователям должен производить пользователь с правами администратора.)

http://infostart.ru/upload/iblock/603/ObnovModulNastr.JPG(рис. 1)

обновление модулей форм происходит посредством выгрузки файлов конфигурации их программного редактирования и обратной загрузке этих файлов. Перед выполнением этих действий происходит обязательное сохраните текущий конфигурации в указанный каталог.

http://infostart.ru/upload/iblock/bb5/ObnovModulModul.JPG(рис. 2)

 На второй странице обработки перечислены объекты в модуле которых будут вставлены обработчики событий. в дальнейшем в документе "Набор прав" можно будет отображать как все объекты системы, так и только те для которых было произведено автоматическое изменение модулей форм. Списки сохраняются в регистре сведений, что позволяет произвести повторное изменение нужных модулей после произведенных типовых обновлений конфигурации.

 Второй обработкой в продукте является обработка назначения специальных константа.

http://infostart.ru/upload/iblock/256/ZapolnKonstant.JPG(рис. 3)

 

1. Константа "Справочник пользователей", позволяет назначить справочник используемый в системе для хранения пользователей.

2. Константа "Справочник должностей", позволяет назначить справочник используемый в системе для хранения должностей.

3. Константа "Правила вычисления должности", позволяет вписать программный код возвращающий должность текущего пользователя. (по умолчанию вписан код подходящий для типовых программ УПП и БП 2.0).

4. Константа "использовать РС низменных метаданных", галка означающая что в документ Набор прав будут попадать только формы объектов в которых были произведены изменения обработчиков "ПриОткрытии" и "ПередОткрытием".

 

Настройка набора прав и доступа к элементам форм производится помощью документа "Набор прав"

 http://infostart.ru/upload/iblock/870/dok_Nabor_prav_roli.JPG(рис. 4)

На первой странице (рис. 4) происходит назначение основного интерфейса и ролей пользователям с указанной должностью.

 http://infostart.ru/upload/iblock/9d4/dok_Nabor_prav_Form.JPG (рис.5)

 

На второй странице (рис. 5) имеется возможность настроить доступ к элементам обрабатываемых форм., доступ к кнопкам панелей управления, страницам панелей, и колонкам табличных частей, настраивается через строки с заполненным полем Имя ТЧ.

Для ознакомления с возможностью системы касающейся настроек видимости и доступности элементов форм прилагается демо база.

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

 

Порядок установки.

1. Сохранить свою конфигурацию в файл. (выгрузить ИБ по желанию).

2. Выполнить объединение конфигураций с поставляемым файлом SetOfRights.cf, по подсистеме "ПодсистемаНаборПрав", если справочник Пользователей в ваше подсистеме называется иначе чем "Пользователи", необходимо в подписке на событие "ПриЗаписиСправочникаПользователи", установить в качестве объекта ваш справочник в качестве события "ПриЗаписи".

3. Если в конфигурации установлен режим поддержки с запретом редактирования объектов, установить режим с возможностью и редактирования и сохранением поддержки.

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

5. Открыть обработку "об заполнение специальных констант" (рис.3):

     Указать справочники Пользователей, и Должностей,

     поставить галку Использования РС измененных модулей(если помимо автоматически измененных форм объектов, вы будете вставлять вызовы процедур настраивающие видимость форм,  то данную галку необходимо снять либо в регистре сведений "РС измененные модули метаданных", нужно будет добавить строку с указанием объекта который вы изменили самостоятельно),

     Вписать алгоритм вычисления должности, если указанные для типовых УПП и БП 2.0 алгоритм не подходит.

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

     Нажать на кнопку Выполнить.

6.  Открыть обработку "об обновление модулей форм"

     на первой странице (рис.1) указать имя и пароль пользователя с административными правами, указать каталоги выгрузки бэк апа текущей конфигурации, для возможного отката, указать каталог куда будут выгружены модули конфигурации. (оба каталога должны быть доступны текущему пользователю для редактирования)

     на второй странице (рис.2) выбрать объекты конфигурации для которых вы бы хотели производить тонкие настройки доступа к элементам форм.

7. Нажать на кнопку выполнить.

Обработка произведет выгрузку модулей конфигурации, внесет изменения в выгруженные файлы, в случае отсутствия модуля формы, создаст нужные файлы. Затем обработка загрузит измененные модули в конфигурацию и обновит её динамически.

т.к. выбранный Вами список объектов подвергшихся изменению сохранится в регистре сведений. В будущем Вы сможете повторить данную процедуру, не вспоминая в какие из объектов были внесены изменения.

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

9. Открыть список документы Набор прав и создать новый документ.

    Выбрать Нужную должность на закладке Роли и интерфейс. (рис. 4)

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

    на закладке Доступ к элементам форм указать необходимые варианты доступа.

    Провести документ.

    Повторить эти действия для всех должностей компании, которым необходим доступ к объектам.

P.S. подсистема хорошо подойдет базам данных с неразвитой веткой ролей, например одна роль с полными правами и одна роль с правами без администрирования.

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

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

Наименование Файл Версия Размер Кол. Скачив.
SetRights_demo.dt
.dt 170,34Kb
12.07.13
25
.dt 170,34Kb 25 Бесплатно
Подсистема "Набор прав"
25.12.2014
2000 руб.

Моментальная
доставка

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Саша Безымяный (help1Ckr) 17.07.13 10:03
За идею плюс. Единственное замечание - как очкарик прошу - делайте рисунки крупнее. Ничего же не видно(
Да, и нескромный вопрос в обработчики событий изменяете текущие или свои добавляете? и как быть потом с обновлениями?
2. Алексей Гордеев (allert73) 17.07.13 10:34
(1) © "В состав продукта входит обработка, обновляющая модули форм объектов. Данная обработка позволяет произвести автоматическое редактирование модулей форм объектов метаданных с целью добавления кода в обработчики событий, либо создания обработчиков, событий если таковые в форме отсутствуют. Обработка не создает новых форм, поэтому если объект использует автоматически генерируемые формы, управлять доступностью элементов таких объектов не получится."

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