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

Администрирование · 12 мин

Как скопировать роль в 1С: способы и пошаговые инструкции

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

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

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

Ниже разобраны все рабочие способы с точными действиями, ограничениями и проверкой результата. Инструкции применимы к конфигурациям на управляемых и обычных формах — механизм ролей в платформе 1С:Предприятие 8 единый.

Зачем копировать роль и когда это оправдано

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

Копирование роли решает три типовые задачи. Первая — создание модифицированной версии типовой роли, например «Бухгалтер_БезУдаления», где снято право на удаление документов. Вторая — создание новой роли на основе существующей, когда проще убрать лишние права, чем выставлять их с нуля. Третья — перенос наработанной роли в другую базу или конфигурацию.

Способ 1: копирование роли в конфигураторе

Это основной и самый быстрый способ, когда нужна полная копия роли внутри текущей конфигурации. Работает в любой конфигурации, где у вас есть права на изменение.

Порядок действий
  1. 1
    Откройте базу в режиме Конфигуратор и выполните команду «Конфигурация → Открыть конфигурацию».
  2. 2
    В дереве метаданных разверните ветку «Общие → Роли» и найдите нужную роль.
  3. 3
    Выделите роль и нажмите Ctrl+C, затем Ctrl+V — появится копия с именем вида «ИмяРоли1».
  4. 4
    Дважды щёлкните по копии, задайте осмысленное имя и синоним, например «БухгалтерБезУдаления».
  5. 5
    Откройте копию двойным щелчком и скорректируйте права в редакторе роли: снимите или установите флажки напротив объектов.
  6. 6
    Сохраните конфигурацию и выполните «Конфигурация → Обновить конфигурацию базы данных».

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

Важно понимать: копируется только сам объект роли с набором прав. Связи с пользователями, профилями доступа и подсистемами не переносятся — их нужно настроить заново для новой роли.

Способ 2: копирование прав через шаблоны

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

Откройте пустую роль двойным щелчком — появится редактор роли с двумя панелями: списком объектов и списком прав. Нажмите кнопку «Установить шаблон прав» (иконка с изображением шаблона на панели инструментов редактора). В открывшемся окне выберите роль-источник и подтвердите действие. Права из выбранной роли будут применены к текущей.

Механизм шаблонов работает и в обратную сторону: кнопка «Сохранить как шаблон» позволяет сохранить текущий набор прав и потом применять его к другим ролям. Это удобно, когда формируется несколько похожих ролей с общей базой прав и небольшими отличиями.

Способ 3: перенос роли в другую конфигурацию

Когда роль нужно перенести в другую базу, прямое копирование через буфер обмена между двумя конфигураторами работает не всегда стабильно. Надёжнее использовать один из двух подходов.

Первый подход — сравнение и объединение конфигураций. В целевой базе выполните «Конфигурация → Сравнить, объединить с конфигурацией из файла» и укажите файл cf базы-источника. В окне сравнения отметьте только нужную роль и выполните объединение. Способ безопасен, но требует, чтобы объекты метаданных, на которые ссылаются права роли, существовали и в целевой конфигурации.

Второй подход — выгрузка конфигурации в файлы. Выполните «Конфигурация → Выгрузить конфигурацию в файлы», найдите в каталоге выгрузки файл нужной роли в папке Roles и перенесите его в аналогичную структуру целевой конфигурации с последующей загрузкой. Этот способ требует аккуратности и подходит опытным специалистам, особенно при работе с EDT или системами контроля версий.

Сравнение способов

Копирование в конфигураторе (Ctrl+C / Ctrl+V)

Подходит для дублирования роли внутри одной конфигурации. Самый быстрый способ, но не переносит роль между базами.

Шаблоны прав

Подходит для переноса прав в уже созданную роль и для тиражирования однотипных наборов прав. Не создаёт новый объект.

Сравнение и объединение с файлом cf

Подходит для переноса роли между базами. Требует совпадения объектов метаданных в обеих конфигурациях.

Выгрузка в файлы

Подходит для работы через хранилище или git. Гибкий, но требует понимания структуры выгрузки.

Настройка прав в скопированной роли

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

Два флажка требуют особого внимания. «Устанавливать права для новых объектов» — при появлении в конфигурации новых объектов метаданных права на них будут добавляться в роль автоматически. «Независимые права на подчиненные объекты» — права на подчинённые объекты (например, табличные части, движения документа по регистрам) перестанут наследоваться от родительских и будут настраиваться отдельно.

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

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

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

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

Типичные ошибки
01
Изменение типовой роли вместо создания копии — при обновлении конфигурации доработки теряются или мешают автоматическому обновлению.
02
Забытое обновление конфигурации базы данных — новая роль не появляется в списке при назначении пользователю.
03
Права перекрыты другой ролью пользователя — ограничения не действуют, потому что итоговые права объединяются.
04
Снят только флажок «Удаление», но оставлено «Интерактивное удаление» — или наоборот, из-за чего запрет работает не полностью.
05
В типовой конфигурации роль добавлена, но не включена в профиль группы доступа — пользователю она фактически не назначена.
Контрольные точки

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

Роль в дереве метаданных
Норма

Копия существует, имеет уникальное имя и понятный синоним

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

Роль не отображается после обновления конфигурации БД — обновление не выполнено

Назначение пользователю
Норма

Роль видна в списке ролей пользователя или в составе профиля доступа

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

Роль не назначается — проверьте обновление конфигурации и профили БСП

Поведение под пользователем
Норма

Разрешённые действия работают, запрещённые блокируются с сообщением о нарушении прав

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

Действие доступно, хотя право снято — у пользователя есть другая роль с этим правом

Ограничения и особенности

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

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

Наконец, помните о документировании: давайте копиям ролей говорящие имена и ведите внутреннее описание, чем копия отличается от типовой. Через полгода по имени «Роль1Копия» никто не вспомнит, зачем она создана, и риск удалить нужную роль при чистке конфигурации возрастает.

Удобный приём: имя копии формируйте как «ИмяТиповойРоли» плюс суффикс сути изменения, например «Кассир_ТолькоПросмотр». Тогда в списке ролей копия окажется рядом с типовой, и её назначение будет понятно без открытия редактора.
ПЗ
Практическое замечание

Часто задаваемые вопросы

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

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

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

Чаще всего не выполнено обновление конфигурации базы данных: роль сохранена в конфигурации, но не применена к базе. Выполните «Конфигурация → Обновить конфигурацию базы данных». Вторая причина — в конфигурациях на БСП роли назначаются через профили доступа, и новую роль нужно добавить в профиль в режиме предприятия.

Скопировал роль и убрал право, но пользователю всё равно доступно действие. Почему?

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

Перенесутся ли ограничения RLS при копировании роли?

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

Что будет с копией роли при обновлении типовой конфигурации?

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

Можно ли скопировать роль между разными конфигурациями, например из УТ в БП?

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

Итог

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

Роль копируется через Ctrl+C / Ctrl+V в ветке «Общие → Роли» конфигуратора, либо права переносятся шаблоном в существующую роль. После копирования обязательно обновите конфигурацию базы данных, назначьте роль через профили доступа (в типовых) и проверьте поведение под тестовым пользователем. Помните: права разных ролей объединяются, поэтому запрет сработает только если его не перекрывает другая роль.