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