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

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

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

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

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

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

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

Подготовка расширения и понимание ограничений

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

Ключевые ограничения механизма, которые нужно учитывать заранее:

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

Как заимствовать роль из основной конфигурации

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

Порядок действий:

  1. В дереве конфигурации расширения нажмите правой кнопкой мыши на корневой элемент конфигурации и выберите «Настроить правила поддержки» либо сразу переходите к добавлению объекта.
  2. Щёлкните правой кнопкой по ветке «Роли» и выберите «Добавить» — система предложит список ролей основной конфигурации, доступных для заимствования.
  3. Выберите нужную роль, например «БазовыеПраваБСП» или специализированную роль для вашего блока объектов, и подтвердите добавление.
  4. Альтернативный способ: откройте основную конфигурацию, найдите нужную роль, нажмите правой кнопкой и выберите «Добавить в расширение», указав целевое расширение.

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

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

Настройка прав на новые объекты расширения

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

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

Практические рекомендации по набору прав:

  • для справочников обычно достаточно чтения, просмотра, добавления и изменения;
  • для документов добавьте проведение и отмену проведения, если это предусмотрено логикой;
  • для регистров сведений, подчинённых документам, прав устанавливают минимально необходимый набор — часто достаточно чтения;
  • не выдавайте право «Администрирование» и «Интерактивное удаление» без явной необходимости.
Удобно заимствовать несколько ролей: одну — с минимальными правами для обычных пользователей, другую — с расширенными для ответственных сотрудников. Так проще разграничить доступ к новым объектам без доработки типовых профилей.
ПЗ
Практическое замечание

Изменение прав на объекты основной конфигурации

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

При слиянии платформа применяет правило логического сложения: если право установлено либо в основной конфигурации, либо в расширении, в итоговой конфигурации оно будет установлено. Это означает, что снять типовое право через расширение невозможно — только добавить. Если задача состоит именно в ограничении доступа, решать её нужно другими средствами: настройкой профилей групп доступа, ограничением доступа на уровне записей (RLS) или изменением состава ролей пользователя.

Также в заимствованной роли можно изменять шаблоны ограничений доступа (RLS). Это требует осторожности: ошибка в шаблоне может заметно замедлить выполнение запросов или полностью заблокировать доступ к данным.

Контроль изменений при обновлении типовой конфигурации

Заимствованная роль чувствительна к обновлениям основной конфигурации. Если поставщик в новом релизе изменит роль — добавит или удалит права, переименует её — расширение может оказаться неприменимым или начать работать не так, как ожидалось.

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

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

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

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

Применимость расширения после обновления
Норма

Расширение загружается без ошибок контроля

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

Сообщения о несоответствии заимствованных объектов

Доступ к новым объектам
Норма

Пользователь с нужной ролью открывает и редактирует объекты расширения

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

Ошибка «Нарушение прав доступа» при открытии

Права на типовые объекты
Норма

Типовые сценарии работают как раньше

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

Пропал доступ к ранее доступным документам или справочникам

Проверка результата в пользовательском режиме

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

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

Типичные ошибки
01
Попытка снять типовое право через расширение — права только добавляются, ограничение решается профилями или составом ролей пользователя
02
Проверка под учётной записью с полными правами — ошибки доступа не видны, проблемы всплывают у реальных пользователей
03
Забытое обновление конфигурации базы данных после изменения роли — изменения не применяются
04
Игнорирование профилей групп доступа — роль изменена, но не входит ни в один профиль, эффекта нет
05
Отсутствие контроля после обновления типового релиза — расширение перестаёт работать незамеченным

Альтернативные подходы и границы применения

Не всегда роль в расширении — оптимальное решение. Если нужно просто дать пользователям доступ к новым отчётам или обработкам, проще использовать механизм дополнительных отчетов и обработок БСП с назначением прав через профили. Если требуется ограничить доступ, эффективнее настроить группы доступа и RLS, не трогая роли.

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

Итог

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

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

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

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

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

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

Наиболее частые причины: не обновлена конфигурация базы данных, пользователь не перезашёл в сеанс, изменённая роль не входит в профиль группы доступа пользователя (в конфигурациях на БСП) либо действует ограничение RLS. Проверяйте состав ролей конкретного пользователя через отчёт о правах доступа.

Можно ли через расширение убрать право, которое даёт типовая роль?

Нет. При слиянии права складываются по принципу логического «или»: установленное в основной конфигурации право останется. Для ограничения доступа используйте исключение роли из профиля пользователя, настройку групп доступа или шаблоны RLS.

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

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

Нужно ли перезапускать сервер 1С после изменения роли в расширении?

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

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

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