Как добавить внешнюю обработку напрямую в командный интерфейс раздела программы?

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

При разработке и внедрении дополнительных обработок через стандартный справочник Дополнительные отчеты и обработки (подсистема БСП) разработчики и пользователи часто сталкиваются с задачей: необходимо вывести ссылку на команду обработки напрямую в панель действий или панель навигации конкретного раздела (например, «Производство»), минуя переход по вспомогательной ссылке «Дополнительные обработки». Разберем, почему возникает такая сложность, как устроен механизм платформы и какие варианты решения существуют на практике.

Анализ поведения платформы и архитектурные ограничения

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

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

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

Способ 1. Использование расширения конфигурации (рекомендуемый вариант)

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

Разберем процесс по шагам:

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

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

    Вариант Б: Создание общей команды в расширении. Если обработка должна оставаться в справочнике Дополнительные отчеты и обработки (например, для регулярного обновления без перегрузки расширения), добавим в расширение объект ОбщаяКоманда, включим его в подсистему Производство и вызовем обработку программно.

  4. В модуле команды опишем клиентскую процедуру открытия формы обработки из справочника дополнительных обработок через экспортные методы БСП.

Способ 2. Встраивание в основную конфигурацию

Проанализируем случай, когда база данных уже снята с типовой поддержки и в нее вносятся изменения напрямую в дереве метаданных.

Разберем последовательность действий:

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

Способ 3. Пользовательские варианты быстрого доступа без доработки

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

  1. Добавление команды в панель «Избранное»:

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

  2. Получение и сохранение навигационной ссылки:

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

← На главную