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

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

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

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

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

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

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

Что значит «владелец» в контексте расширения 1С

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

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

Подготовка: что сделать перед изменением расширения

Любые изменения расширения выполняйте на копии рабочей базы. Ошибка в ролях может закрыть доступ пользователям к документам, а ошибка в структуре справочников — потребовать реструктуризации данных. Создайте резервную копию через конфигуратор («Администрирование» → «Выгрузить информационную базу») или штатными средствами СУБД.

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

Как добавить роль владельца в расширение

Откройте конфигуратор и загрузите расширение: «Конфигурация» → «Расширения конфигурации» → откройте нужное расширение. В дереве конфигурации расширения найдите ветку «Роли». Если нужная роль уже есть в основной конфигурации, заимствуйте её: в основной конфигурации найдите роль, вызовите контекстное меню и выберите «Добавить в расширение».

Если роль нужна новая, создайте её прямо в расширении: контекстное меню на ветке «Роли» → «Добавить». Дайте роли понятное имя, например отражающее её назначение, и задайте синоним, который увидят администраторы в списке ролей пользователя.

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

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

Как назначить справочнику владельца в расширении

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

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

Если у справочника уже есть данные, добавление владельца вызовет реструктуризацию: у существующих элементов реквизит «Владелец» окажется пустым. Заранее продумайте, как заполнить его — обработкой или вручную, иначе отборы и иерархия по владельцу будут работать некорректно.

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

После того как роль добавлена в расширение и расширение применено к базе, роль становится доступной в списке ролей пользователей. Откройте список пользователей («Администрирование» → «Пользователи» в режиме предприятия или через конфигуратор для локальной базы), выберите пользователя и на закладке ролей отметьте новую роль.

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

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

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

Роль в списке ролей пользователя
Норма

Роль видна и отмечается

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

Роли нет в списке — расширение не применено или роль создана не в том расширении

Доступ к объектам под тестовым пользователем
Норма

Разрешённые объекты открываются, запрещённые — недоступны

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

Нет доступа ко всему или, наоборот, доступ шире задуманного

Поле «Владелец» в элементе справочника
Норма

Поле присутствует и обязательно к заполнению

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

Поля нет — владелец не указан или изменения не сохранены

Типичные ошибки и ограничения

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

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

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

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

Альтернативы, если расширение не решает задачу

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

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

Сравнение вариантов

Роль в расширении

Подходит для прав на объекты расширения; ограничение — слабое влияние на права типовых объектов

Профиль групп доступа

Подходит для комбинирования типовых ролей без доработок; требует конфигурации на БСП

Доработка основной конфигурации

Снимает все ограничения, но усложняет обновления и требует дисциплины сопровождения

Частые вопросы

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

Чаще всего расширение не применено к базе: после изменений нужно сохранить расширение и обновить конфигурацию базы данных. Также проверьте, что расширение активно (флаг в списке расширений) и не отключено из-за несовместимости версий.

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

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

Что будет с данными, если добавить справочнику владельца?

Запустится реструктуризация: у существующих элементов появится пустой реквизит «Владелец». Пока он не заполнен, отборы по владельцу и связанные механизмы будут работать некорректно, поэтому заполнение планируйте заранее.

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

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

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

В клиент-серверном режиме изменения прав могут не подействовать для уже открытых сеансов. Надёжнее попросить пользователей перезайти в программу или завершить сеансы через консоль кластера.

Итог

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

«Владелец» в расширении 1С — это либо роль с нужными правами, либо справочник-владелец у подчинённого справочника. Работайте только в дереве расширения, обновляйте его в базе после изменений, проверяйте права под тестовым пользователем и всегда начинайте с резервной копии.