Почему расширение или подсистема в расширении не видны пользователям после обновления платформы 1С на 8.3.15 и выше?

Программист 1С v8.3 (Управляемые формы) 1С:Зарплата и Управление Персоналом IT и автоматизация бизнеса
← На главную

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

Причина изменения поведения системы

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

Проанализируем основные факторы, влияющие на видимость объектов:

  1. Изоляция ролей: Права на новые метаданные (подсистемы, справочники, документы), созданные в расширении, должны быть прописаны в ролях, созданных в этом же расширении.
  2. Интеграция с БСП: В современных конфигурациях (ЗУП 3.1, ERP 2.5, КА 2.5) управление доступом осуществляется программно через Библиотеку стандартных подсистем. Если БСП «не знает» о новых ролях расширения, она может блокировать интерфейсные элементы.
  3. Режим безопасности: Установленные флаги безопасного режима могут ограничивать программный доступ к метаданным расширения.

Шаг 1. Создание и настройка ролей в расширении

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

Войдем в конфигуратор, откроем расширение и создадим новую роль (например, ДобавленныеОбъектыПолныеПрава). В этой роли необходимо отметить право Просмотр для самой подсистемы и права (как минимум Чтение и Просмотр) для всех объектов, входящих в эту подсистему.

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

Поэтому рекомендуется снять этот флаг, если вы планируете управлять правами через профили в режиме «1С:Предприятие».

Шаг 2. Обеспечение видимости подсистемы в интерфейсе

Часто программисты забывают, что для появления раздела на панели разделов недостаточно просто дать права. Проанализируем три условия видимости подсистемы:

  1. Наличие права Просмотр на саму подсистему в роли расширения.
  2. Наличие права Просмотр хотя бы на один объект (отчет, обработку, документ), который включен в эту подсистему. Если подсистема пустая или у пользователя нет прав ни на один ее объект, платформа скроет всю подсистему целиком.
  3. Включение подсистемы в состав командного интерфейса. Проверьте Командный интерфейс расширения и убедитесь, что видимость вашей подсистемы включена для нужных ролей.

Шаг 3. Обновление метаданных в режиме «1С:Предприятие»

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

Запустите информационную базу с параметром командной строки:

/ЗапуститьОбновлениеИнформационнойБазы

Или выполните следующий код в консоли кода (или создав внешнюю обработку):

Справочники.ИдентификаторыОбъектовМетаданных.ОбновитьДанные(Истина);

После выполнения этой процедуры новые роли и объекты расширения станут доступны для выбора в профилях групп доступа.

Шаг 4. Настройка профилей и групп доступа

Теперь перейдем в режим «1С:Предприятие» и выполним финальную настройку прав для обычного пользователя. Пройдем по шагам:

  1. Откройте раздел Администрирование — Настройки пользователей и прав — Профили групп доступа.
  2. Создайте новый профиль (например, «Работа с расширением») или добавьте роль в существующий профиль, которым пользуются сотрудники.
  3. В списке ролей найдите вашу роль из расширения (она обычно помечается именем расширения в скобках) и установите флаг.
  4. Зайдите в Группы доступа, выберите нужную группу (или создайте новую) и убедитесь, что в ней выбран ваш профиль и в список участников добавлены необходимые пользователи.

Шаг 5. Проверка безопасного режима

Разберем еще один критический момент. В справочнике Расширения (через меню Функции для технического специалиста или раздел Администрирование) проверьте настройки вашего расширения. Если установлена галочка Безопасный режим:

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

Итоги

Проблема «исчезновения» расширения на платформе 8.3.15+ чаще всего связана с тем, что платформа больше не прощает отсутствия явных ролей для новых метаданных внутри самого расширения. Совместное использование механизмов платформы и логики БСП требует обязательного обновления идентификаторов метаданных и ручного включения новых ролей в профили доступа.

Следуя описанному алгоритму — создание роли в расширении -> обновление идентификаторов -> настройка профиля доступа — вы гарантированно вернете видимость ваших доработок обычным пользователям.

← На главную