Права доступа 1С
Механизм разрабатывался для быстрого изменения прав пользователей в решениях 1С Предприятие. Данную разработку возможно интегрировать в любую конфигурацию 1С Предприятие 8. Этим 1С решением сможет управлять пользователь любого уровня знания системы 1С. Для работоспособности прав, после настройки, НЕ нужен перезапуск “1С Предприятия”.
В функционал “Права доступа” входят такие возможности:
- С помощью данного механизма возможно регулировать видимость, доступность реквизита или самой формы справочника или документа.
- С помощью данного механизма возможно универсально настраивать отображение данных в форме списка любого справочника или документа.
Форма элемента
Механизм предназначен для регулировки прав пользователей на таких уровнях:
- Видимость любого элемента формы справочника или документа.
- Доступность любого элемента формы справочника или документа.
- Ограничение исполнительным модулем который будет выполнятся в любом справочнике или документе, в процедуре «При открытии».
Иерархический, ограничен двумя уровнями иерархии с двумя предопределенными папками «Документы и Справочники».
Добавление нового элемента справочника.
Список объектов меняется в зависимости от родителя справочника, если родитель «Документы», в списке выводятся все имена документов 1С конфигурации, если родитель «Справочники», в списке выводятся все имена справочников конфигурации 1С.
Табличная часть «Настройки».
Табличная часть «Настройки», самая важная часть всего механизма. В этой табличной части заполняются «1С Роли» по приоритету, настройки реквизитов объекта заполнения и условия которые будут выполнятся «При открытии» объекта. Заполнение табличной части возможно двумя способами:
- Вручную, через стандартное добавление строки табличной части.
- По нажатию кнопки «Заполнить». Табличная часть заполняется настройками по умолчанию для всех указанных 1С ролей.
Существует механизм определения важности ролей. Все роли которые будут учувствовать в механизме, необходимо отсортировать по важности в 1С Предприятии и записать в список. Самая важная роль будет первая в списке.
При открытии любого объекта проверки, выбирается самая верхняя, самая важная по приоритету «Роль», которая существует у пользователя и по ее настройке проходит условие открытия. Например: Если в 1С Предприятии, у пользователя будет присвоено 3 роли «Главный бухгалтер, Дирекция, Бухгалтер», а в списке важности ролей будет указано «1.Дирекция, 2.Главный бухгалтер, 3.Бухгалтер», то сработает по приоритету роль «Дирекция».
Выбор настроек реквизитов 1С:
В форме выводятся все 1С реквизиты, табличные части, командные панели, одним словом все что есть на форме. Колонка видимость и колонка только просмотр по умолчанию заполняются из стандартных настроек справочника или документа.
Примеры настроек:
Для настройки права доступа к объекту 1С, нужно просто, выбрать объект, нажать на кнопку «Заполнить. После этого все пользователи базы 1С, будут проходить через эту настроенную проверку. Через форму «Доступностей ролей», можно регулировать «видимость или просмотр» элементов формы справочников и документов.
Рассмотрим грубый пример возможности настройки «Доступностей ролей»:
Пример после настройки прав пользователю:
Для особо одаренных пользователей, можно даже такое сделать.
Рассмотрим настройку:
Что мы видим, все очень просто, снимаем галочки видимости напротив чего нужно убрать видимость объекта, проставляем галочки только просмотр, напротив чего хотим сделать режим «ТолькоПросмотр».
Если есть уникальный случай, и нужно установить особенные настройки прав для пользователя. Создаем новый элемент справочника, создаем настройки, но проставляем реквизит «Пользователь». Для этого пользователя будет осуществляться именно эта настройка.
Рассмотрим механизм условий, шаблонов и их установку.
Механизм шаблонов разработан для оперативного изменения условий проверок.
Форма шаблонов выглядит так:
В левой части существует 2 корневых элемента, в которые можно добавлять новые элементы, в правой части прописывает те условия которые мы хотим чтоб выполнялись в процедуре «При открытии».
Существует возможность копирования шаблонов. При нажатии правой кнопки на наименовании шаблона, в контекстном меню доработана кнопка «Копировать». При нажатии на кнопку «Копировать», шаблон копируется во все элементы справочника, подчиненные текущему родителю. Если данное наименование существует в элементе справочника копирования, этот элемент справочника пропускается.
Рассмотрим механизм групповой установки шаблонов.
При переходе на страницу шаблонов, она заполняется автоматически, ролями, на основании табличной части «Настройки», также выводятся существующие шаблоны.
Выбор шаблонов происходит так:
Есть возможность выбора по одному шаблону, или по кнопке «Заполнить», если по кнопке «Заполнить», табличная часть заполняется всеми существующими шаблонами.
Кнопка «Установить»
После выбора всех нужных нам шаблонов, проставляем флажки напротив роли на которую хотим установить шаблоны, нажимаем «Установить».
Механизм устанавливает все выбранные шаблоны в условия табличной части «Настройки» с разбивкой по имени.
Видим, два наших шаблона, которые разбиты на отдельные участки кода, для читабельности. Повторюсь. Эти условия будут выполнятся в процедуре «При открытии» объекта.
Рассмотрим еще один пример условия:
Условие справочника «Контрагенты». Значение условия:
Если филиал открываемого элемента справочника, не равно филиалу установленному в настройках текущего пользователя, тогда, форма переходит в режим, ТолькоПросмотр.
Настройки дополнительных прав пользователя 1С.
Механизм работает только у тех пользователей, у которых стоит признак в дополнительных настройка пользователя «Проверять права доступа объектов». По умолчанию он отключен.
Замер производительности
Параметры замера
Конфигурация: УТП(Управление торговым предприятием)
Объект: Заказ покупателя
Формы объекта: Фома элемента; Форма списка;
Замер производительности осуществлялся таким способом:
- Перед процедурой вызова данного механизма установил точку остановы.
- После того как отладка модуля остановилась на этой точке, включил замер производительности.
- После всего прохождения процедуры механизма, получил результат замера производительности.
Форма элемента
Для того чтобы задействовать как можно больше ресурсов механизма, я создал максимальную настройку - установил для всех реквизитов формы свойство "ТолькоПросмотр".
Результат замера производительности:
Форма списка
Настройки списка:
Результат замера производительности: