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