Как разместить обработку в нужной группе панели навигации основного раздела

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

При разработке интерфейса в системе 1С:Предприятие 8.3 программисты часто сталкиваются с тем, что платформа навязывает стандартное поведение для определенных типов объектов — в этом поможет инструментарий анализа прав доступа и метаданных. Одной из таких задач является размещение обработки в Панели навигации, в то время как по умолчанию система упорно помещает её в раздел Сервис панели действий. Разберем детально, как обойти это ограничение и настроить интерфейс именно так, как требует заказчик или логика приложения.

Анализируем проблему: почему обработка не «тянется» в навигацию

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

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

Метод 1: Использование внутренней команды объекта

Это один из самых элегантных способов, который позволяет избежать создания лишних объектов в ветке Общие. Рассмотрим этот процесс по шагам:

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

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    // Вызываем основную форму обработки
    ОткрытьФорму("Обработка.ИмяВашейОбработки.Форма");
КонецПроцедуры

После этого, если мы зайдем в настройку командного интерфейса подсистемы или основного раздела, мы увидим не саму обработку, а созданную нами команду. Эту команду платформа позволит легко переместить в любую группу панели навигации.

Метод 2: Создание Общей команды

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

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

  1. Перейдем в ветку метаданных Общие -> Общие команды.
  2. Создадим новую команду и назовем её соответствующим образом (например, ОткрытьПанельАдминистрирования).
  3. В свойствах команды установим Группа: Панель навигации.Важное (или иную группу в навигации).
  4. В модуле общей команды напишем код открытия нужного объекта:

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    ОткрытьФорму("Обработка.МояОбработка.Форма");
КонецПроцедуры

Важным преимуществом этого метода является то, что Общая команда видна в списке объектов для настройки интерфейса любого раздела сразу. Нам остается только включить её видимость в нужной нам подсистеме.

Метод 3: Правильная настройка пользовательских Групп команд

Иногда программисты создают свои группы команд в ветке Общие -> Группы команд, но все равно не могут поместить туда обработку. Выясним причину этой ошибки. Она кроется в свойстве Категория созданной группы.

При создании группы команд мы обязаны выбрать одну из трех категорий:

Если вы создали группу с категорией Панель действий, вы никогда не сможете «затянуть» её в левую панель интерфейса. Поэтому, чтобы реализовать структуру как в типовых конфигурациях, сначала создаем группу с категорией Панель навигации, а затем используем Метод 1 или Метод 2 для размещения там команд.

Нюансы работы с «Основным разделом»

Основной раздел (или Рабочий стол) имеет свои особенности (удобнее через конструктор адаптивных рабочих столов и интерфейсов 1С). Если в окне настройки командного интерфейса основного раздела вы не видите дерева объектов слева, проанализируем следующие моменты:

  1. Роли и права доступа: Убедимся, что у текущего пользователя (или роли, под которой мы ведем разработку) есть права на Просмотр и Интерактивное открытие данной обработки и её команд (поможет архитектурный анализ структуры команд и зависимостей). Если прав нет, объект просто не появится в списке доступных.
  2. Свойство «Использовать стандартные команды»: В карточке обработки на закладке Основные должна стоять галочка Использовать стандартные команды. Если её снять, обработка исчезнет из всех автоматических списков интерфейса, и её можно будет вызвать только через самописные команды.
  3. Включение в состав подсистем: Хотя для «Основного раздела» это не всегда обязательно, иногда объект не отображается в редакторе, если он не включен ни в одну подсистему. Попробуем временно добавить его в какую-либо подсистему и проверить появление в редакторе — для этого подойдёт инструмент управления рабочим столом и быстрым доступом.

Итоги и рекомендации

Мы проанализировали несколько способов управления командным интерфейсом. Наиболее правильным с точки зрения архитектуры 1С является создание собственной команды внутри обработки. Это позволяет инкапсулировать логику вызова внутри самого объекта и дает полную свободу в выборе места отображения (навигация или действия).

Помните, что платформа 1С стремится к типизации интерфейса. Использование Панели навигации для обработок должно быть оправдано: обычно там размещают инструменты, с которыми пользователь работает постоянно (например, «АРМ Кассира» или «Панель маркировки»), в то время как разовые операции (например, «Загрузка из Excel») лучше оставить в разделе Сервис панели действий.

← На главную