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