При разработке расширений в системе 1С:Предприятие 8.3 программисты часто сталкиваются с ситуацией, когда новая подсистема, добавленная в расширение как подчиненный раздел, прекрасно отображается под полными правами, но напрочь исчезает из интерфейса обычного пользователя. Даже если все роли назначены и права на объекты даны, раздел может оставаться невидимым. В целом, настройка видимости объектов — частая задача при администрировании. Рассмотрим подробно, почему это происходит и как настроить корректное отображение интерфейса.
Первым делом проанализируем технические ограничения самой платформы. Долгое время в 1С существовал жесткий запрет на создание подчиненных подсистем внутри расширений. Если вы используете платформу ниже версии 8.3.24 или режим совместимости вашей конфигурации установлен в значение ниже 8.3.24, создание полноценных вложенных разделов в расширении может работать некорректно или быть заблокировано, что требует дополнительного анализа состава расширений на предмет ошибок.
Начиная с версии 8.3.24, ситуация изменилась, но появились важные условия, которые мы должны проверить:
Дополнение (Add-on). Если ваше расширение имеет тип Исправление (Patch), функционал создания подразделов будет недоступен.Частая ошибка заключается в том, что разработчик создает новую подсистему ОТК внутри заимствованной подсистемы Производство, но забывает «сообщить» об этом интерфейсу родителя. Кроме ручной настройки, существуют и готовые решения, позволяющие добавлять настраиваемый пользователем раздел-подсистему. Посмотрим, как это сделать правильно стандартными средствами.
Выполним следующие шаги:
Производство) из основной конфигурации в наше расширение.ОТК. Проверим, стоит ли флаг видимости для неё. Часто автоматического включения не происходит, и видимость нужно проставить вручную.Даже если у пользователя есть роль с правами Чтение и Просмотр на документы, входящие в раздел, сама подсистема может быть скрыта на уровне свойств метаданных. Разберем, как проверить настройки прав доступа в расширении, а также как выполнить быструю проверку прав доступа на объект метаданных с помощью специальных инструментов.
Откроем свойства нашей подсистемы ОТК в расширении. Нам нужно найти свойство «Установить видимость по ролям». В открывшемся списке ролей необходимо убедиться, что напротив нужной нам роли (например, ОТК_ОсновнаяРоль) проставлена галочка. Если роль была добавлена в расширение позже создания подсистемы, платформа могла не включить видимость для неё автоматически.
Платформа 1С спроектирована таким образом, что она скрывает любые разделы и подразделы, которые считает «пустыми» для текущего пользователя. Выясним, почему подсистема может считаться пустой:
Просмотр хотя бы на один объект, включенный в состав подсистемы.ОТК. Убедимся, что включена видимость команд (документов, справочников) в колонках «Просмотр» или «Использование».Если вы работаете с типовой конфигурацией (например, ERP или Комплексная автоматизация), то в ней активно используется Библиотека стандартных подсистем (БСП). БСП динамически управляет интерфейсом и профилями групп доступа. В этом случае новые объекты расширения могут не появиться сразу из-за кэширования метаданных.
Проанализируем необходимые действия для систем с БСП:
/С ЗапуститьОбновлениеИнформационнойБазыЧтобы избежать конфликтов прав и коллизий в пространстве имен, всегда используйте уникальные префиксы для своих подсистем в расширении. Вместо простого имени ОТК, лучше использовать прф_ОТК или ИмяКомпании_ОТК. Это гарантирует, что при обновлении основной конфигурации или добавлении других расширений ваши настройки видимости не будут перекрыты одноименными объектами.
Подводя итог: если раздел не виден, последовательно проверяем версию платформы (8.3.24+), тип расширения (Дополнение), командный интерфейс родителя и видимость по ролям в самой подсистеме. В большинстве случаев проблема кроется именно в настройках командного интерфейса родительской подсистемы, которая была заимствована в расширение.