Администрирование · 12 мин
Как скопировать роль в 1С: способы и пошаговые инструкции
Как скопировать роль в 1С через конфигуратор: копирование объекта метаданных, копирование прав через шаблоны, перенос роли между конфигурациями и проверка результата.
Копирование роли — одна из самых частых задач при настройке прав доступа в 1С. Типовую роль нельзя менять напрямую без снятия конфигурации с поддержки, поэтому администраторы создают её копию, дорабатывают права под свои требования и назначают пользователям уже изменённый вариант.
Существует несколько способов скопировать роль: через стандартное копирование объекта метаданных в конфигураторе, через механизм шаблонов прав и через выгрузку конфигурации в файлы. Выбор зависит от того, нужно ли скопировать роль внутри одной конфигурации, перенести её в другую базу или сохранить как эталон для дальнейших доработок.
Ниже разобраны все рабочие способы с точными действиями, ограничениями и проверкой результата. Инструкции применимы к конфигурациям на управляемых и обычных формах — механизм ролей в платформе 1С:Предприятие 8 единый.
Зачем копировать роль и когда это оправдано
Роль в 1С — это набор прав на объекты метаданных: справочники, документы, регистры, отчёты и другие объекты. Роли назначаются пользователям и определяют, что они могут видеть и делать в базе. Изменение типовой роли поставщика — плохая практика: при обновлении конфигурации изменения будут затёрты или вызовут конфликты сравнения.
Копирование роли решает три типовые задачи. Первая — создание модифицированной версии типовой роли, например «Бухгалтер_БезУдаления», где снято право на удаление документов. Вторая — создание новой роли на основе существующей, когда проще убрать лишние права, чем выставлять их с нуля. Третья — перенос наработанной роли в другую базу или конфигурацию.
Способ 1: копирование роли в конфигураторе
Это основной и самый быстрый способ, когда нужна полная копия роли внутри текущей конфигурации. Работает в любой конфигурации, где у вас есть права на изменение.
- 1Откройте базу в режиме Конфигуратор и выполните команду «Конфигурация → Открыть конфигурацию».
- 2В дереве метаданных разверните ветку «Общие → Роли» и найдите нужную роль.
- 3Выделите роль и нажмите Ctrl+C, затем Ctrl+V — появится копия с именем вида «ИмяРоли1».
- 4Дважды щёлкните по копии, задайте осмысленное имя и синоним, например «БухгалтерБезУдаления».
- 5Откройте копию двойным щелчком и скорректируйте права в редакторе роли: снимите или установите флажки напротив объектов.
- 6Сохраните конфигурацию и выполните «Конфигурация → Обновить конфигурацию базы данных».
После обновления конфигурации базы данных новая роль станет доступна для назначения пользователям. В типовых конфигурациях на БСП (Библиотека стандартных подсистем) роль назначается через профили групп доступа в режиме предприятия, а не напрямую в списке пользователей — учитывайте это при проверке.
Важно понимать: копируется только сам объект роли с набором прав. Связи с пользователями, профилями доступа и подсистемами не переносятся — их нужно настроить заново для новой роли.
Способ 2: копирование прав через шаблоны
Если новая роль уже создана пустой и нужно перенести в неё права из другой роли, удобнее использовать механизм шаблонов. Он позволяет скопировать права без дублирования объекта метаданных.
Откройте пустую роль двойным щелчком — появится редактор роли с двумя панелями: списком объектов и списком прав. Нажмите кнопку «Установить шаблон прав» (иконка с изображением шаблона на панели инструментов редактора). В открывшемся окне выберите роль-источник и подтвердите действие. Права из выбранной роли будут применены к текущей.
Механизм шаблонов работает и в обратную сторону: кнопка «Сохранить как шаблон» позволяет сохранить текущий набор прав и потом применять его к другим ролям. Это удобно, когда формируется несколько похожих ролей с общей базой прав и небольшими отличиями.
Способ 3: перенос роли в другую конфигурацию
Когда роль нужно перенести в другую базу, прямое копирование через буфер обмена между двумя конфигураторами работает не всегда стабильно. Надёжнее использовать один из двух подходов.
Первый подход — сравнение и объединение конфигураций. В целевой базе выполните «Конфигурация → Сравнить, объединить с конфигурацией из файла» и укажите файл cf базы-источника. В окне сравнения отметьте только нужную роль и выполните объединение. Способ безопасен, но требует, чтобы объекты метаданных, на которые ссылаются права роли, существовали и в целевой конфигурации.
Второй подход — выгрузка конфигурации в файлы. Выполните «Конфигурация → Выгрузить конфигурацию в файлы», найдите в каталоге выгрузки файл нужной роли в папке Roles и перенесите его в аналогичную структуру целевой конфигурации с последующей загрузкой. Этот способ требует аккуратности и подходит опытным специалистам, особенно при работе с EDT или системами контроля версий.
Сравнение способов
Подходит для дублирования роли внутри одной конфигурации. Самый быстрый способ, но не переносит роль между базами.
Подходит для переноса прав в уже созданную роль и для тиражирования однотипных наборов прав. Не создаёт новый объект.
Подходит для переноса роли между базами. Требует совпадения объектов метаданных в обеих конфигурациях.
Подходит для работы через хранилище или git. Гибкий, но требует понимания структуры выгрузки.
Настройка прав в скопированной роли
После копирования роль обычно дорабатывают. В редакторе роли права выставляются флажками напротив каждого объекта: чтение, добавление, изменение, удаление, просмотр, интерактивное добавление и другие. Обратите внимание на разницу между правами «Добавление» и «Интерактивное добавление», «Просмотр» и «Чтение» — первые в паре относятся к программному доступу, вторые к действиям пользователя в интерфейсе.
Два флажка требуют особого внимания. «Устанавливать права для новых объектов» — при появлении в конфигурации новых объектов метаданных права на них будут добавляться в роль автоматически. «Независимые права на подчиненные объекты» — права на подчинённые объекты (например, табличные части, движения документа по регистрам) перестанут наследоваться от родительских и будут настраиваться отдельно.
Если в роли используются ограничения доступа на уровне записей (RLS), они редактируются в правой части редактора роли на вкладке «Шаблоны ограничений» и в поле «Ограничение доступа». При копировании роли тексты RLS копируются вместе с правами, но их нужно проверить: в скопированной роли могут остаться ссылки на параметры сеанса или функциональные опции, которые в новом контексте работают иначе.
Проверка результата и типичные ошибки
После назначения скопированной роли пользователю результат нужно проверить под его учётной записью, а не под администратором. Зайдите в базу под тестовым пользователем и убедитесь, что нужные объекты открываются, а запрещённые действия действительно недоступны: документ не проводится, кнопка удаления неактивна, отчёт не формируется.
Дополнительно проверьте, не осталось ли у пользователя старых ролей, которые перекрывают ограничения. Права в 1С складываются по принципу объединения: если хотя бы одна из назначенных ролей разрешает действие, запрет в другой роли не сработает. Это самая частая причина ситуации «я убрал право, а пользователь всё равно может».
Как проверить результат
Копия существует, имеет уникальное имя и понятный синоним
Роль не отображается после обновления конфигурации БД — обновление не выполнено
Роль видна в списке ролей пользователя или в составе профиля доступа
Роль не назначается — проверьте обновление конфигурации и профили БСП
Разрешённые действия работают, запрещённые блокируются с сообщением о нарушении прав
Действие доступно, хотя право снято — у пользователя есть другая роль с этим правом
Ограничения и особенности
Копирование роли требует права на изменение конфигурации. Если конфигурация находится на поддержке без возможности изменения, сначала нужно включить возможность изменения через «Конфигурация → Поддержка → Настройка поддержки». Делать это следует осознанно: снятие объектов с поддержки усложняет дальнейшие обновления.
В файловых базах обновление конфигурации базы данных выполняется только при отсутствии других активных сеансов. В клиент-серверном варианте часть изменений применяется динамически, но добавление новых объектов метаданных, включая роли, обычно требует монопольного доступа или завершения сеансов.
Наконец, помните о документировании: давайте копиям ролей говорящие имена и ведите внутреннее описание, чем копия отличается от типовой. Через полгода по имени «Роль1Копия» никто не вспомнит, зачем она создана, и риск удалить нужную роль при чистке конфигурации возрастает.
Удобный приём: имя копии формируйте как «ИмяТиповойРоли» плюс суффикс сути изменения, например «Кассир_ТолькоПросмотр». Тогда в списке ролей копия окажется рядом с типовой, и её назначение будет понятно без открытия редактора.
Часто задаваемые вопросы
Можно ли скопировать роль без конфигуратора, в режиме предприятия?
Нет, штатными средствами создание и копирование ролей выполняется только в конфигураторе, так как роль — объект метаданных. В режиме предприятия в типовых конфигурациях можно лишь комбинировать существующие роли через профили групп доступа, что часто закрывает потребность в новой роли без доработки конфигурации.
Почему скопированная роль не появляется в списке у пользователя?
Чаще всего не выполнено обновление конфигурации базы данных: роль сохранена в конфигурации, но не применена к базе. Выполните «Конфигурация → Обновить конфигурацию базы данных». Вторая причина — в конфигурациях на БСП роли назначаются через профили доступа, и новую роль нужно добавить в профиль в режиме предприятия.
Скопировал роль и убрал право, но пользователю всё равно доступно действие. Почему?
Права в 1С объединяются: если пользователю назначено несколько ролей и хотя бы одна разрешает действие, оно будет доступно. Проверьте полный список ролей пользователя и профилей доступа, найдите роль, которая даёт это право, и скорректируйте состав назначений.
Перенесутся ли ограничения RLS при копировании роли?
Да, тексты ограничений доступа на уровне записей копируются вместе с правами. Однако их следует проверить вручную: шаблоны ограничений могут ссылаться на параметры сеанса или объекты, которые в новом контексте ведут себя иначе, особенно при переносе роли в другую конфигурацию.
Что будет с копией роли при обновлении типовой конфигурации?
Копия с уникальным именем не затрагивается обновлением, так как поставщик её не поставляет. Но если в обновлении изменятся объекты, на которые выставлены права в копии (например, добавятся новые регистры), права на них в копии появятся только при включённом флажке «Устанавливать права для новых объектов» — иначе их нужно выставить вручную.
Можно ли скопировать роль между разными конфигурациями, например из УТ в БП?
Напрямую — нет, потому что наборы объектов метаданных в конфигурациях различаются и права ссылаются на конкретные объекты. Возможен перенос через сравнение-объединение или выгрузку в файлы, но после переноса права придётся пересматривать: часть ссылок на отсутствующие объекты будет потеряна.
Что важно запомнить
Роль копируется через Ctrl+C / Ctrl+V в ветке «Общие → Роли» конфигуратора, либо права переносятся шаблоном в существующую роль. После копирования обязательно обновите конфигурацию базы данных, назначьте роль через профили доступа (в типовых) и проверьте поведение под тестовым пользователем. Помните: права разных ролей объединяются, поэтому запрет сработает только если его не перекрывает другая роль.