Ограничение доступа к документам и справочникам. RLS – гибкая и тонкая настройка ограничений доступа к данным Как открыть доступ в 1 с 8.3

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

Тут вы можете спросить - А не проще ли обойтись установкой нужных ролей для пользователей ?

Отвечаю - не всегда. Нередко типовые роли являются избыточными, и в придачу к установке нужных прав для пользователей предоставляют им дополнительные ненужные полномочия. К тому же иногда бывает нужно ограничить возможность редактирования уже проведенных документов - такую задачу типовыми средствами не решить.

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

Для примера, ограничим конкретному пользователю доступ к документу Заказ клиента :

Откроем форму настройки прав доступа:

Нас интересует регистр сведений Ограничение доступа к данным :


После этого откроется список настроек, создаем новую:


На форме настроек выбираем:

Теперь попытка пользователя открыть заказ заканчивается ничем:


Ограничение не распространяется на пользователей с полными правами.

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

Как в 1С Бухгалтерия 8.3 создать пользователя с правами «Администратор»

При запуске вновь созданной чистой, пустой информационной базы 1С Бухгалтерия 3.0 начальное окно имеет такой вот вид. Программа 1С Бухгалтерия нам весьма однозначно предлагает начать работу с заполнения реквизитов нашей организации.

Мы же начнем процесс работы с нашей программой 1С Бухгалтерия с создание первого пользователя.

Для этого мы переходим в раздел «Администрирование» - «Настройки пользователей и прав», переходим по гиперссылке «Пользователи» и нажимаем кнопку «Создать».

Укажем имя нашего пользователя (ГлавБух). Никакие другие изменения вносить не будем. При необходимости можно изменить пароль данного пользователя, но сейчас обойдемся без этого. Нажимаем кнопку «Записать».

Программа 1С Бухгалтерия 8.3 говорит, что первый пользователь будет автоматически добавлен в группу «Администраторы». Соглашаемся с этим.

Наш пользователь создан. Если мы перейдем по кнопке «Права доступа», то увидим, что пользователю назначен профиль «Администратор».

Данные действия необходимо выполнить для того, чтобы в программе 1С Бухгалтерия 8.3 как раз этот пользователь с правами администратора и появился.

В принципе можно работать и без заведения пользователя. Но некоторые регламентные процедуры в нашей программе 1С Бухгалтерия 8.3 выполняется от имени пользователя с полными правами. Когда такого пользователя нет в программе, возможна неоднозначная ситуация, когда такие регламентные процедуры система не сможет выполнить. Поэтому рекомендуется начинать работу с программой 1С Бухгалтерия 8.3 с заведение пользователя с правами доступа «Администратор».

Все настройки прав пользователей, которые будут нами производиться в рамках этой статьи расположены в разделе 1С 8.3 «Администрирование» — «Настройки пользователей и прав». Данный алгоритм аналогичен в большинстве конфигураций на управляемых формах. В качестве примера будет использоваться программа 1С Бухгалтерия, но настройка прав в других программах (1С УТ 11, 1С ЗУП 3, 1C ERP) производиться абсолютно аналогично.

Перейдем в раздел «Пользователи» окна настроек. Здесь мы видим две гиперссылки: «Пользователи» и «Настройки входа». Первая из них позволяет перейти непосредственно к списку пользователей данной информационной базы. Прежде, чем создавать нового пользователя, рассмотрим возможные настройки входа (гиперссылка справа).

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

Теперь можно перейти к непосредственному к добавлению нового пользователя в 1С. Сделать это можно по кнопке «Создать», как показано на изображении ниже.

Первым делом укажем полное имя – «Антонов Дмитрий Петрович», и выберем из соответствующего справочника физическое лицо. Так же здесь можно указать и подразделение, в котором работает наш сотрудник.

Имя для входа «АнтоновДП» подставилось автоматически, как сокращение от полного имени «Антонов Дмитрий Петрович». Установим пароль и аутентификацию 1С Предприятия. Здесь так же можно указать, доступна ли данному пользователю самостоятельная смена пароля.

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

Обратим внимание на еще одну немаловажную настройку в карточке справочника пользователей – «Вход в программу разрешен». Если лаг не установлен, то пользователь попросту не сможет зайти в данную информационную базу.

Права доступа

После заполнения всех данный в карточке пользователя – Антонова Дмитрия Петровича, запишем их и перейдем к настройке прав доступа, как показано на рисунке ниже.

Перед нами открылся список ранее внесенных в программу профилей доступа. Отметим флажками необходимые.

Профили групп доступа

Профили групп доступа можно настроить из основной формы настройки пользователей и прав. Перейдите в раздел «Группы доступа» и нажмите на гиперссылку «Профили групп доступа».

Создадим новую группу из открывшейся формы списка. В табличной части на вкладке «Разрешенные действия (роли)» флажками необходимо отметить те роли, которые будут влиять на права доступа пользователей, входящим в создаваемую нами группу. Все эти роли создаются и настраиваются в конфигураторе. Из пользовательского режима их нельзя изменить или создать новые. Можно только выбрать из существующего перечня.

RLS: ограничение доступа на уровне записей

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

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

Перейдем в созданный нами ранее профиль групп доступа «Тестовая группа». На рисунке ниже видно, что после включения ограничения доступа на уровне записей появилась дополнительная вкладка «Ограничения доступа».

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

В верхней табличной части установим ограничение доступа по организации. В нижней части уточним, что доступ не будет предоставляться к данным (документам, справочникам и пр.) для организации «Рога ООО».

2016-12-01T13:37:17+00:00

Правильная настройка списка пользователей и их прав доступа в базу 1С:Бухгалтерия 8.3 (редакция 3.0) является необходимой при любом количестве людей, работающих с программой. Даже если с ней работаете только вы!

Такая настройка позволяет в дальнейшем ответить на такие вопросы, как "Кто внес те или иные изменения в базу", "Как дать к базе доступ только на просмотр для проверяющего", "Кто позволил помощнику изменить настройки учетной политики" и подобные им.

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

Итак, будем настраивать следующих пользователей:

  • Администратор : пользователь, который обладает полными правами на базу и не имеет никаких ограничений. Не нужно использовать этого пользователя для ежедневной работы. Пароль от администратора следует давать программистам и администраторам, которые нам настраивают или обновляют базу. Так как под этим пользователем будут работать только они - мы в дальнейшем всегда сможем в журнале регистрации отделить их изменения в базе от работы других пользователей. Это бывает полезно в случае "разбора полётов".
  • Главный бухгалтер : пользователь, который обладает правами не меньшими, чем администратор, но является самостоятельной ролью со своим паролем. Под этим пользователем будете работать вы сами.
  • Бухгалтер : если у вас есть помощники или другие бухгалтеры в подчинении, то этот пользователь подойдет для них. Какие ограничения накладывает эта роль:
    • Запрет на изменение параметров учета.
    • Запрет на изменение учетной политики.
    • Запрет на изменение плана счетов.
    • Запрет на редактирование списка пользователей.
    • Запрет на настройку счетов учета номенклатуры.
    • Запрет на удаление помеченных на удаление элементов.
    • Запрет на смену даты запрета изменения данных.
  • Проверяющий : этот пользователь будет обладать только правами на просмотр базы. Ничего менять в ней он не сможет.

1. Зайдите в раздел "Администрирование" и выберите там пункт "Настройки пользователей и прав" ():

2. В открывшейся панели выберите пункт "Пользователи":

3. По умолчанию, пользователь "Администратор" уже должен быть в этом списке. Сделайте двойной щелчок на нём, чтобы открыть его настройки.

4. Сделайте настройку, как на рисунке ниже. Пароль придумайте сами - его нужно повторить два раза. Обращаю ваше внимание, что у каждого из пользователей должен быть свой пароль. Осталось нажать "Записать и закрыть". Готово!

Главный бухгалтер

4. В окне настройки прав укажите галки рядом с пунктами "Администратор" и "Главный бухгалтер". Осталось нажать кнопку "Записать". Готово!

Бухгалтер

1. Вернитесь в список пользователей и нажмите кнопку "Создать" на панели инструментов.

2. Откроется окно с новым пользователем. Укажите настройки как показано ниже, только пароль придумайте свой.

4. В окне настройки прав укажите галки рядом с пунктом "Бухгалтер". Осталось нажать кнопку "Записать". Готово!

Проверяющий

1. Вернитесь в список пользователей и нажмите кнопку "Создать" на панели инструментов.

2. Откроется окно с новым пользователем. Укажите настройки как показано ниже, только пароль придумайте свой.

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

Роли настраиваются в конфигураторе. Так же их можно назначить конкретным пользователям, но для удобства в 1С реализован механизм групп доступа. В справочнике пользователей откройте («Администрирование — Настройка пользователей и прав — Пользователи») карточку любого сотрудника и нажмите на кнопку «Права доступа». В разных конфигурациях интерфейс может отличаться, но суть одна и та же.

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

Справочник профилей групп доступа («Администрирование — Настройка пользователей и прав — Профили групп доступа») содержит в себе перечень ролей, который будет доступен пользователю при его назначении. Доступные роли профиля отмечаются флагами.

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

Роли в конфигураторе (для программистов)

В ролях указывается, какие объекты и при каких условиях будут доступны пользователю, которому они доступны. Откройте любую роль, и вы увидите две вкладки: «Права» и «Шаблоны ограничений».

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

При разрешении совершения каких-либо действий с объектом, есть возможность указать ограничение доступа к данным. Данный механизм называется RLS и позволяет настроить права на уровне записей. Он достаточно интересный, но при активном его использовании может снизиться производительность.

В нижней части формы роли можно настроить автоматическую установку прав:

  • для новых объектов (разрешающие права);
  • на реквизиты и табличные части (права наследуются от объекта – владельца)
  • на подчиненные объекты (права назначаются с учетом прав на родительские объекты).

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

Настройки прав для остальных объектов конфигурации сходи между собой: чтение, добавление, удаления, проведение (для документов), управление итогами (для регистров накопления и бухгалтерии) и прочие. Здесь важно отметить право на «Интерактивное удаление». При его доступности пользователи смогут физически удалять данные из программы (shift + delete). Для важных объектов данное право назначать крайне нежелательно.

Программная проверка прав доступа

Для проверки доступности у пользователя какой-либо роли служит следующая функция:

  • РольДоступна(«АдминистраторСистемы»)

В том случае, когда проверяемая роль назначена пользователю, функция вернет значение «Истина». В противном случае – «Ложь».

Для того чтобы выполнить какие-либо действия с объектом, к которому нет доступа, можно воспользоваться следующим методом:

  • УстановитьПривилегированныйРежим(Истина)

После включения привилегированно режима никаких проверок прав не производится. По окончании действий над недоступными объектами необходимо снова вызвать данный метод с параметром «Ложь» для отключения данного режима. Помните, что в клиент — серверном варианте при выполнении на клиенте данный метод не выполняет никаких действий.

Для проверки того, установлен привилегированный режим служит функция (возвращает «Истина» или «Ложь»):

  • ПривилегированныйРежим()

Пользовательский интерфейс при отсутствии прав доступа

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

Бывают случаи, когда в каком-либо поле отображается надпись формата «<Объект не найден>» с указанием GUID, возможно, у пользователя тоже не хватает прав на чтение содержащегося в нем значения. Для проверки этой теории достаточно просмотреть значение данного поля под полными правами. Если надпись не пропадает – есть вероятность битой ссылки.