К статье
Практический материал

Разработка и Конфигурация · 10 мин

Как создать роль в конфигураторе 1С

Как создать роль в конфигураторе 1С: настройка прав доступа к объектам, шаблоны RLS, тестирование роли и типичные ошибки при разработке.

Роль в 1С — это набор прав доступа к объектам конфигурации: справочникам, документам, регистрам, отчётам и другим метаданным. Без хотя бы одной назначенной роли пользователь не сможет выполнять никаких действий с данными, даже если заведён в информационной базе. Поэтому создание ролей — обязательный этап доработки любой конфигурации, где есть разграничение доступа между сотрудниками.

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

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

Где находятся роли и как добавить новую

Откройте конфигуратор и загрузите конфигурацию (меню «Конфигурация → Открыть конфигурацию»). В дереве объектов раскройте ветку «Общие», затем «Роли». В типовых конфигурациях здесь уже находятся десятки готовых ролей, например «Базовые права», «Добавление изменение документов» и другие.

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

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

Порядок создания роли
  1. 1
    Откройте конфигуратор и ветку «Общие → Роли»
  2. 2
    Добавьте новую роль, задайте имя и синоним
  3. 3
    В редакторе роли отметьте права на нужные объекты
  4. 4
    Настройте шаблоны RLS, если нужно ограничение на уровне записей
  5. 5
    Сохраните конфигурацию и обновите конфигурацию базы данных (F7)
  6. 6
    Назначьте роль пользователям в режиме «1С:Предприятие»
  7. 7
    Проверьте работу под тестовым пользователем

Как настроить права на объекты метаданных

В редакторе роли выберите объект в левом списке — например, справочник «Номенклатура». Справа появится перечень прав: «Чтение», «Добавление», «Изменение», «Удаление», «Просмотр», «Интерактивное добавление», «Редактирование» и другие. Отметка ставится двойным щелчком или через контекстное меню.

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

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

Быстрая установка прав на группу объектов

Если нужно настроить права сразу на несколько однотипных объектов, выделите их в списке с зажатой клавишей Ctrl и установите нужные флажки — они применятся ко всем выделенным. Также в редакторе роли есть кнопка «Установить все права» и «Снять все права» для выбранного объекта, что ускоряет настройку ролей с широким доступом.

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

Обычные права действуют на объект целиком: либо пользователь видит все документы «Реализация товаров», либо не видит ни одного. Когда нужно показывать менеджеру только его документы или документы его организации, используется механизм ограничения доступа на уровне записей — RLS (Record Level Security).

Ограничение задаётся в редакторе роли: выберите объект, в правом списке найдите строку права (обычно «Чтение») и в колонке «Ограничение доступа» укажите условие на встроенном языке. Например, условие для таблицы документа может ссылаться на параметр сеанса с текущим пользователем. Чтобы не повторять один и тот же текст условия для десятков объектов, создайте шаблон в нижней части редактора — «Шаблоны ограничений», а затем ссылайтесь на него через директиву вида #ШаблонОграничения("...").

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

Как связать роль с пользователями

После сохранения конфигурации нажмите F7 («Обновить конфигурацию базы данных») — без этого новая роль не появится в списке доступных. Если база работает в режиме динамического обновления, изменения ролей всё равно потребуют перезапуска сеансов пользователей.

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

Роли складываются: итоговые права пользователя — это объединение прав всех назначенных ему ролей. Поэтому принято делать узкие роли под конкретные задачи и комбинировать их, а не создавать одну «роль на всё». Это упрощает аудит: по списку ролей сразу видно, какие функции доступны сотруднику.

Проверка результата и типичные ошибки

Заведите тестового пользователя, назначьте ему только новую роль и войдите под ним. Пройдите основные сценарии: открытие списков, создание и проведение документов, запуск отчётов. Каждое сообщение «Нарушение прав доступа» указывает на объект и действие, для которого не хватило права, — по этому тексту легко найти, что нужно доотметить в редакторе роли.

Типичные ошибки
01
Дано «Чтение», но не дан «Просмотр» — объект недоступен в интерфейсе, хотя программно читается
02
Забыто обновление конфигурации базы данных — роль не появляется в списке при назначении
03
Роль назначена, но пользователь не перезашёл в сеанс — права не применились
04
Шаблон RLS ссылается на несуществующий параметр сеанса — ошибки при открытии списков
05
Права даны на документ, но не на регистры, которые он двигает — ошибка при проведении

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

Контрольные точки

Как проверить результат

Вход под тестовым пользователем
Норма

Сеанс открывается, доступны только нужные разделы

Тревожный признак

Пустой интерфейс или ошибки прав при старте

Создание и проведение документа
Норма

Документ записывается и проводится без сообщений

Тревожный признак

«Нарушение прав доступа» на регистрах

Открытие списков с RLS
Норма

Видны только разрешённые записи, список открывается быстро

Тревожный признак

Видны лишние записи или список «зависает»

Когда проще скопировать типовую роль

В типовых конфигурациях роли тщательно выверены: они учитывают права на подсистемы, команды, планы обмена и служебные объекты, о которых легко забыть. Если нужная функциональность близка к существующей роли, надёжнее скопировать её (правый клик → «Копировать») и скорректировать права, чем собирать роль с нуля.

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

Подходы к настройке

Новая роль с нуля

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

Копия типовой роли

Быстро и безопасно для типовой функциональности; при обновлении конфигурации копия не обновится автоматически

Роль в расширении

Не затрагивает основную конфигурацию и упрощает обновления; ограничена возможностями механизма расширений

Частые вопросы

Почему пользователь не видит созданную роль в списке?

Чаще всего конфигурация базы данных не обновлена после добавления роли. Нажмите F7 в конфигураторе и дождитесь завершения обновления. Также проверьте, что роль сохранена и не осталась только в окне редактора.

Можно ли создать роль без конфигуратора?

Нет, роли — это объекты метаданных, они создаются и редактируются только в конфигураторе. В режиме «1С:Предприятие» можно лишь назначать существующие роли пользователям или настраивать профили групп доступа, которые внутри опираются на те же роли.

Чем профиль группы доступа отличается от роли?

Профиль — это пользовательский механизм типовых конфигураций: администратор собирает набор ролей в профиль и назначает его группе сотрудников без захода в конфигуратор. Роль — технический объект конфигурации, профиль — удобная обёртка над ролями для администраторов базы.

Как дать права только на чтение без возможности изменения?

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

Почему при проведении документа возникает «Нарушение прав доступа»?

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

Влияет ли RLS на скорость работы?

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

Итог

Что важно запомнить

Роль создаётся в конфигураторе через «Общие → Роли»: задайте имя, отметьте права доступа и интерактивные права на объекты, при необходимости добавьте шаблоны RLS. После обновления конфигурации базы данных назначьте роль пользователю и обязательно проверьте работу под тестовой учётной записью, включая проведение документов и открытие списков.