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