Администрирование · 11 мин
Роли в 1С: как настроить права доступа
Как настроить роли в 1С: создание роли в конфигураторе, назначение прав на объекты, RLS, профили групп доступа, типичные ошибки и проверка результата.
Роли в 1С — это основной механизм разграничения прав: они определяют, какие объекты конфигурации (документы, справочники, отчёты, регистры) пользователь может видеть, создавать, изменять и удалять. Без грамотно настроенных ролей либо сотрудники не смогут работать, либо получат избыточный доступ к чувствительным данным — зарплате, взаиморасчётам, себестоимости.
Настройка ролей ведётся на двух уровнях. Первый — конфигуратор, где разработчик или администратор описывает саму роль и набор прав на объекты метаданных. Второй — режим предприятия, где в типовых конфигурациях (ERP, УТ, Бухгалтерия, ЗУП) роли объединяются в профили групп доступа и назначаются конкретным пользователям без изменения конфигурации.
Ниже разобраны оба подхода: создание роли в конфигураторе, назначение прав на объекты, ограничение доступа на уровне записей (RLS), работа с профилями в типовых решениях, проверка результата и типичные ошибки, из-за которых права «не применяются» или, наоборот, открывают лишнее.
Что такое роль и как устроена модель прав в 1С
Роль — это объект метаданных, содержащий набор прав на другие объекты конфигурации. Права бывают базовыми (чтение, добавление, изменение, удаление, просмотр, проведение, использование) и специальными (интерактивное добавление, отказ от интерактивного изменения, управление итогами и другие). Право «Чтение» открывает данные для запросов и отчётов, «Просмотр» — для отображения в интерфейсе, поэтому они часто идут вместе.
Пользователю можно назначить несколько ролей — тогда действует объединение прав: достаточно, чтобы хотя бы одна роль давала право, и оно будет предоставлено. Обратного механизма «запрещающей роли» в платформе нет. Это ключевой принцип: лишняя роль всегда расширяет доступ, а не сужает его.
Отдельно существует роль «Полные права» (или встроенная группа «Администраторы»). Пользователь с полными правами игнорирует все ограничения, включая RLS. Выдавать её рядовым сотрудникам «чтобы работало» — грубая ошибка, разрушающая всю модель безопасности.
Создание роли в конфигураторе
Откройте конфигуратор, разверните ветку «Общие — Роли» и добавьте новую роль. Задайте понятное имя и синоним — например, «МенеджерПоПродажамБазовый». Синоним увидят администраторы в интерфейсе, поэтому он должен отражать суть, а не быть аббревиатурой.
После создания откроется редактор роли. В левой части — дерево объектов конфигурации, в правой — флажки прав для выбранного объекта. Пройдитесь по всем объектам, которые нужны для работы сотрудника: справочники (номенклатура, контрагенты), документы (заказы, реализации), регистры, отчёты и обработки. Для каждого объекта отметьте минимально необходимый набор прав.
Действуйте по принципу минимальных привилегий: сначала дайте только «Чтение» и «Просмотр», затем добавляйте «Добавление», «Изменение», «Проведение» только там, где это действительно требуется по должностным обязанностям. Право «Удаление» и «Интерактивное удаление» выдавайте крайне редко — обычно достаточно пометки на удаление у ограниченного круга лиц.
- 1Откройте конфигуратор, ветка «Общие — Роли», добавьте новую роль с понятным именем
- 2В редакторе роли отметьте права на нужные объекты: чтение, просмотр, при необходимости добавление и изменение
- 3Настройте шаблоны ограничений RLS, если нужен доступ к части записей
- 4Включите роль в нужные подсистемы, чтобы объекты появились в интерфейсе пользователя
- 5Обновите конфигурацию базы данных (F7) и назначьте роль пользователю
- 6Войдите под тестовым пользователем и проверьте доступ к каждому ключевому сценарию
Настройка прав на объекты: что учитывать
При раздаче прав учитывайте связанные объекты. Если пользователь проводит документ «Реализация товаров», ему нужны права не только на сам документ, но и на чтение регистров, по которым он проводится, и на справочники, используемые в нём. Иначе получите ошибки вида «Нарушение прав доступа» в самый неподходящий момент.
Отдельного внимания заслуживают команды и интерфейс. Если роль даёт права на объект, но объект не включён ни в одну подсистему, доступную пользователю, он просто не увидит его в меню — хотя программный доступ останется. Проверяйте состав подсистем при создании роли.
Для отчётов и обработок достаточно прав «Использование» и «Просмотр». Для регистров сведений и накопления чаще всего нужны «Чтение» и, если документы проводятся пользователем, «Изменение» — но помните, что право изменения регистра позволяет редактировать его напрямую, минуя документы.
Ограничение доступа на уровне записей (RLS)
RLS применяется, когда право на объект есть, но видеть нужно не все записи. Классический пример: менеджеры работают с одним справочником контрагентов, но каждый должен видеть только своих. В редакторе роли для права «Чтение» (или другого) добавляется шаблон ограничения с условием на встроенном языке, обычно через параметры сеанса — текущий пользователь, его организация, склад.
RLS работает прозрачно: пользователь видит в списках и отчётах только разрешённые записи. Но у механизма есть цена — каждый запрос к ограниченной таблице дополняется условием, что увеличивает нагрузку на СУБД. Сложные шаблоны с соединениями нескольких таблиц могут заметно замедлить работу на больших базах.
Шаблоны ограничений создаются в ветке «Общие — Шаблоны ограничений доступа», что позволяет переиспользовать один шаблон в нескольких ролях. Перед включением RLS в рабочей базе протестируйте шаблон на копии: ошибка в условии может либо скрыть все данные, либо, что хуже, не скрыть ничего.
Профили групп доступа в типовых конфигурациях
В типовых решениях на БСП (ERP, УТ, КА, ЗУП, Бухгалтерия) есть надстройка над ролями — профили групп доступа. Они настраиваются в режиме предприятия: «Администрирование — Настройки пользователей и прав — Профили групп доступа». Профиль объединяет роли, и администратор может собрать нужную комбинацию без входа в конфигуратор.
Порядок действий: создайте профиль, отметьте нужные роли из списка (они сгруппированы по подсистемам), при необходимости задайте разрешённые значения доступа — организации, склады, группы контрагентов. Затем создайте группу доступа с этим профилем и включите в неё пользователей. Изменения применяются без перезапуска сеансов в большинстве случаев, но надёжнее попросить пользователя перезайти.
Именно через профили реализуется и гибкий аналог RLS в типовых: вид доступа «Организации» или «Склады» ограничивает записи без редактирования шаблонов в конфигураторе. Это предпочтительный путь для типовых конфигураций — он не требует доработок и не усложняет обновление.
Способы назначения прав
Полный контроль, нужен для самописных конфигураций и доработок. Требует обновления конфигурации БД и усложняет поддержку типовых решений.
Настройка в режиме предприятия без изменения конфигурации. Подходит для типовых решений, но ограничен составом ролей, заложенных поставщиком.
Когда типовой роли не хватает. Гибко, но при обновлении конфигурации изменения поставщика в исходной роли придётся переносить вручную.
Проверка результата и типичные ошибки
После назначения ролей обязательно проверьте работу под реальной учётной записью пользователя, а не под администратором. Пройдите ключевые сценарии: открытие списка документов, создание и проведение документа, формирование отчёта, печать. Каждая ошибка «Нарушение прав доступа» указывает на недостающее право — текст ошибки содержит имя объекта и вид права.
Проверяйте и обратную сторону: пользователь не должен видеть закрытые разделы. Откройте «Все функции» и убедитесь, что недоступные объекты не открываются. Помните, что прямой ввод ссылки или команда из обработки могут открыть объект, которого нет в меню, — если права на него ошибочно даны.
Как проверить результат
Открываются нужные разделы, документы создаются и проводятся
Ошибки «Нарушение прав доступа» при типовых операциях
В списках и отчётах только разрешённые записи (своя организация, склад)
Видны документы и справочники других подразделений
Объекты без прав не открываются даже через «Все функции»
Объект отсутствует в меню, но открывается по прямой команде
Списки и отчёты открываются с приемлемой задержкой
Заметное замедление — нужно упрощать шаблон ограничения
Частые вопросы
Как узнать, каких прав не хватает пользователю?
Текст ошибки «Нарушение прав доступа» содержит объект и вид права — этого обычно достаточно. Для сложных случаев используйте технологический журнал с событием доступа или временно выдайте полные права на копии базы и поэтапно сужайте набор, пока не найдёте минимально необходимый.
Можно ли запретить доступ ролью, если другая роль его разрешает?
Нет. В 1С права объединяются по принципу «разрешено, если разрешено хотя бы одной ролью». Запрещающих ролей не существует. Чтобы закрыть доступ, нужно убрать право из всех ролей пользователя или убрать лишнюю роль из его профиля.
Чем отличаются права «Чтение» и «Просмотр»?
«Чтение» разрешает получать данные объекта в запросах, отчётах и программно. «Просмотр» разрешает открывать формы объекта в интерфейсе. Для обычной работы пользователя нужны оба права; только «Чтение» дают, когда данные нужны для отчётов, но открывать сами объекты не требуется.
Нужно ли менять конфигурацию, чтобы настроить права в типовой 1С?
Чаще всего нет. В конфигурациях на базе БСП используйте профили групп доступа в режиме предприятия — они покрывают большинство задач, включая ограничение по организациям и складам. В конфигуратор идут только когда типового набора ролей не хватает.
Почему после назначения роли пользователь всё равно не видит объект?
Проверьте три вещи: включён ли объект в подсистему, доступную пользователю; применился ли профиль (пользователь должен перезайти в базу); не работаете ли вы с кэшем ролей — в редких случаях помогает перезапуск сеанса или очистка кэша на сервере.
Насколько RLS замедляет работу базы?
Зависит от сложности шаблона и объёма данных. Простые условия по параметрам сеанса почти незаметны, а шаблоны с соединениями нескольких таблиц могут ощутимо замедлить списки и отчёты на больших базах. Замеряйте время выполнения типовых операций до и после включения ограничений.
Что важно запомнить
Роли настраиваются по принципу минимальных привилегий, права нескольких ролей суммируются, запрещающих ролей нет. В типовых конфигурациях используйте профили групп доступа, RLS отлаживайте только на копии базы, а результат всегда проверяйте под учётной записью реального пользователя.