Многие разработчики, стремясь к идеальной структуре метаданных и соблюдая принципы чистоты конфигурации, сталкиваются с вопросом организации интерфейса. Часто возникает задача: добавить собственную подсистему с новыми объектами так, чтобы она отображалась внутри типового раздела, например, «Производство». Рассмотрим подробно, почему это вызывает трудности и какие способы решения существуют в рамках использования Расширений конфигурации.
Прежде чем приступать к попыткам реализации, важно понять, почему платформа 1С на данном этапе развития не позволяет просто «вложить» одну подсистему в другую через механизм расширений. Причина кроется в том, как устроена структура метаданных:
Интерфейсе «Такси».Поэтому на текущий момент попытка программно вложить созданную в расширении подсистему в заимствованную типовую подсистему блокируется платформой. Это не недоработка, а способ обеспечения целостности и обновляемости системы.
Если ваша задача состоит в том, чтобы новые объекты были доступны пользователям именно из раздела «Производство», вам не обязательно создавать отдельную вложенную подсистему. Вы можете включить свои справочники, документы или обработки непосредственно в состав типовой подсистемы.
Разберем шаги этого процесса:
Конфигуратор.Расширение.Производство (используя правую кнопку мыши на подсистеме в основной конфигурации -> «Добавить в расширение»).Производство.После этого, при запуске 1С, ваши объекты автоматически появятся в панели навигации раздела «Производство». Это самый простой и «чистый» способ решения интерфейсной задачи, не требующий изменения основной конфигурации.
Если количество ваших объектов велико и вы хотите структурировать их отдельно, вы можете создать собственную подсистему верхнего уровня в расширении. Она будет отображаться на Панели разделов как отдельный пункт.
Преимущества этого подхода:
Права доступа (через Профили групп доступа), так как вы можете ограничить видимость целого раздела.Для продвинутых пользователей и администраторов интерфейса, если нужно обеспечить точечный доступ к функционалу, можно использовать Общие команды.
Вы можете создать общую команду в расширении, которая открывает форму вашего объекта, и назначить ей Группу команд. Это позволит вывести ссылку на объект в нужное место командного интерфейса любого раздела, даже если объект не числится в составе стандартной подсистемы.
Подводя итог, можно сказать, что стремление сохранить «замки» на конфигурации — это верный путь профессионального разработчика. Хотя архитектура платформы ограничивает создание вложенных подсистем в расширениях, это решается грамотной настройкой состава типовых разделов или выводом объектов в отдельные разделы верхнего уровня.
Если вам необходимо организовать интерфейс, используйте инструмент «Состав подсистемы». Это позволит добиться нужного визуального эффекта (доступность объектов в «Производстве»), оставаясь при этом в рамках поддерживаемого типового решения, которое легко обновится в будущем.