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