Настройка прав пользователей в 1С 8.3

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

Права доступа в 1С на примере Бухгалтерии

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

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

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

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

список ролей в профиле доступа

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

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

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

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

настройки роли

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

РЛС

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

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

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

просмотр журнала регистрации

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

права на интерактивное удаление

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

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

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

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

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

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

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

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

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

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

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

нарушения прав доступа

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