Описание

Описание системы ограничения доступа в 1С: Предприятие 8.1

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

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

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

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

Контроль доступа к объектам, событиям

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

Пользователь и Роль пользователя – имена и возможные роли пользователей в системе(возможные значения: "Петров", "Иванов, Бухгалтера")

Типы и Виды объектов – типы объекта метаданных в концепции «1С-Предприятие», а так же конкретные виды объектов (возможные значения: "Документы", "Документы, Справочник.Контрагенты, Справочник.Контрагенты.ФормаСписка")

Событие системы – события, которые происходят в системе, зависят от выбранного типов и видов объектов.

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

  • Управление доступом к объектам в 1С

Управление доступом к объектам в 1С

  • Настройка доступа к реквизитам, значений по умолчанию, настройка правил определения корректности ввода информации в 1С

Настройка доступа к реквизитам, значений по умолчанию, настройка правил определения корректности ввода информации в 1С

  • Настройка доступа к отчетам, настройкам отчетов в 1С

Настройка доступа к отчетам, настройкам отчетов в 1С

Ресурсами РП являются:

Доступ – определяет запрещает или нет данное правило происходящее событие (возможные значения - Да/Нет)

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

Дополнительное описание форм – Позволяет определить поведение элементов управления форм, установить видимость, доступность, значения по умолчанию и тд у формы, для которой подходит текущее правило.

Так же для каждого правила можно задать дополнительные условия, при выполнении которых данное правило будет применяться. Список дополнительных условий неограничен, выполнен в виде дерева, каждое подчиненное правило объединяется с родителем по логическому оператору «Или», правила на одном уровне объединяются по логическому «И». Условия могут задаваться в виде произвольных операций сравнения. Любой реквизит текущего или связанного объекта или произвольная функция на языке 1С сравнивается со значением. Операции сравнения стандартные для отборов.

  • Настройка сложных фильтров и правил для принятия решений о необходимости наложения ограничений или дополнительной обработке событий в 1С 

Настройка сложных фильтров и правил для принятия решений о необходимости наложения ограничений или дополнительной обработке событий в 1С

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

  • Ограничение или переопределение любых событий в 1С

Ограничение или переопределение любых событий в 1С

Работа с отчётами

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

Основная задача такого инструмента – организовать простой и удобный пользовательский интерфейс работы с ними, а также создать средство для администрирования использования отчётов: контроля доступа к ним и доступностью управления их настройками для конкретных пользователей. Работа со всеми отчётами ведётся в одном окне. При входе в систему пользователю отображается список видимых ему настроек для работы с отчётами. В табличном поле доступны две колонки «Имя» и «Значение». Каждой настройке соответствует определённый отчёт со списком доступных пользователю параметров.

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

Администрирование

В режиме администрирования можно изменить любую настройку. Нажав кнопку «Настроить» открывается модальное окно, в котором можно выбрать нужного пользователя или группу пользователей. Ниже отобразятся доступные для этого пользователя настройки. Нажав кнопку «Настроить», расположенную напротив имени пользователя, мы перейдём обратно к основному интерфейсу программы, там отобразятся все настройки этого пользователя и их параметры.

В отличие от режима использования, в режиме администрирования помимо двух колонок «Имя» и «Значение» есть ещё две – это «Видимость», отвечающая за то виден ли пользователю этот параметр, и «Доступность» - которая определяет, может ли пользователь самостоятельно изменять значение параметра. При нажатии кнопки «Настройки пользователей» появляется новое окно, разделённое на 4 смысловых блока.

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

  • Настройка правил одновременно для любых групп пользователей 

Настройка правил одновременно для любых групп пользователей

Способ установки подсистемы

Подсистема контроля доступа устанавливается в два этапа. Первый этап. Объединение конфигураций – добавление метаданных. Инициируется вручную в конфигураторе. Второй этап. Автоматическая выгрузка модулей. Установка перехватов обработчиков всех событий конфигурации.