К статье
Практический материал

Разработка и Конфигурация · 10 мин

Панель навигации формы 1С 8.3: как добавить команду

Как добавить команду в панель навигации формы в 1С 8.3: через конфигуратор, командный интерфейс и программно. Пошаговая инструкция, ошибки и проверка результата.

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

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

Материал ориентирован на платформу 8.3 с управляемыми формами и интерфейсом «Такси». В обычных формах механизм панели навигации отсутствует — там используется командная панель и кнопки «Перейти».

Что такое панель навигации и когда её нужно дорабатывать

Панель навигации формируется автоматически: платформа анализирует связи объекта с другими метаданными и выводит команды перехода. Например, для документа «Реализация товаров» в панели появляются регистры, по которым документ делает движения, а для справочника «Контрагенты» — подчинённые справочники и регистры сведений с отбором по владельцу.

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

Как добавить команду через командный интерфейс объекта

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

В области «Панель навигации» вы увидите список доступных команд: стандартные переходы к регистрам и подчинённым объектам, а также команды отчётов и обработок, у которых в свойствах указан параметр связи с данным типом объекта. Установите флажок видимости напротив нужной команды — после обновления конфигурации она появится в панели навигации формы.

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

Если нужной команды в списке нет, значит платформа не видит связи между объектами. Для регистра сведений проверьте, что измерение регистра ссылается на ваш объект; для отчёта или обработки — что в их свойствах настроен ввод на основании или параметры связи.

Как создать собственную команду объекта

Когда стандартных команд недостаточно, создайте собственную. В дереве конфигурации у объекта есть ветка «Команды». Добавьте новую команду, задайте ей имя и синоним — именно синоним увидит пользователь в панели навигации.

В свойствах команды важны два параметра. «Тип параметра команды» определяет, в формах каких объектов команда будет доступна, — укажите ссылку на ваш справочник или документ. «Режим использования параметра» управляет передачей данных: «Одиночный» передаёт одну ссылку, «Множественный» — список выделенных элементов.

В модуле команды опишите действие — например, открытие формы обработки с параметром:

&НаКлиенте

Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)

ПараметрыФормы = Новый Структура("ОбъектСсылка", ПараметрКоманды);

ОткрытьФорму("Обработка.ИсторияИзменений.Форма", ПараметрыФормы,

ПараметрыВыполненияКоманды.Источник,

ПараметрыВыполненияКоманды.Уникальность,

ПараметрыВыполненияКоманды.Окно);

КонецПроцедуры

После создания команды снова откройте «Командный интерфейс» объекта и включите её видимость в панели навигации — новые команды по умолчанию могут быть скрыты.

Настройка панели навигации в редакторе формы

Второй уровень настройки — сама управляемая форма. Откройте основную форму объекта в конфигураторе, перейдите на закладку «Командный интерфейс» в палитре свойств формы. Там доступны те же группы: панель навигации и командная панель, но с привязкой к конкретной форме.

Здесь можно переопределить видимость и порядок команд именно для этой формы, не меняя глобальные настройки объекта. Это удобно, когда конфигурация содержит несколько форм одного объекта: например, полная форма элемента показывает все переходы, а упрощённая форма для менеджеров — только два основных.

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

Программное добавление команды в панель навигации

В редких случаях команду нужно добавить динамически — например, в зависимости от функциональных опций или роли пользователя. Это делается в обработчике ПриСозданииНаСервере через коллекции Команды и Элементы формы:

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

НоваяКоманда = Команды.Добавить("ОткрытьСопутствующиеТовары");

НоваяКоманда.Заголовок = НСтр("ru = 'Сопутствующие товары'");

НоваяКоманда.Действие = "Подключаемый_ОткрытьСопутствующие";

НовыйЭлемент = Элементы.Добавить("ФормаОткрытьСопутствующие",

Тип("КнопкаФормы"), Элементы.ПанельНавигации);

НовыйЭлемент.ИмяКоманды = "ОткрытьСопутствующиеТовары";

КонецПроцедуры

Группа панели навигации обычно называется «ПанельНавигации», но в типовых конфигурациях имя может отличаться — уточните его в структуре элементов формы. Динамическое добавление усложняет поддержку: при обновлении типовой конфигурации такой код может конфликтовать с изменениями поставщика.

Группировка, порядок и скрытие лишних пунктов

По мере роста конфигурации панель навигации разрастается, и пользователю становится трудно ориентироваться. Порядок команд меняется в окне «Командный интерфейс» кнопками «Вверх» и «Вниз» — чем выше команда в списке, тем выше она в панели.

Лишние автоматические команды (например, переходы к служебным регистрам) просто снимите флажком видимости. Это безопасная операция: сами данные и связи метаданных не затрагиваются, скрывается только кнопка перехода.

Для логической группировки в форме можно создать свои группы внутри панели навигации типа «ГруппаКнопок» и распределить команды по ним — например, «Движения», «Печать», «Дополнительно». В типовых конфигурациях часть такой группировки уже выполнена, и важно не сломать существующую структуру.

Типичные ошибки
01
Команда создана, но не заполнен «Тип параметра команды» — кнопка нигде не появляется
02
Видимость включена в командном интерфейсе объекта, но отключена в конкретной форме — пользователь не видит пункт
03
Изменения проверяются без обновления конфигурации БД (F7) — в режиме предприятия ничего не меняется
04
Динамическое добавление команды в типовой форме без расширения — конфликты при обновлении конфигурации
05
Синоним команды не заполнен — в панели отображается техническое имя

Проверка результата и ограничения механизма

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

Проверьте права: если у пользователя нет права просмотра объекта назначения (например, регистра), команда в панели навигации будет скрыта автоматически — это нормальное поведение платформы, а не ошибка настройки.

Контрольные точки

Как проверить результат

Отображение команды в панели
Норма

Пункт виден с понятным заголовком в ожидаемой позиции

Тревожный признак

Команды нет или видно техническое имя

Работа перехода
Норма

Открывается форма с отбором по текущему объекту

Тревожный признак

Открывается пустой список или ошибка выполнения

Поведение под разными ролями
Норма

У пользователей без прав команда скрыта

Тревожный признак

Ошибка нарушения прав при нажатии

Ограничения механизма: панель навигации недоступна в обычных формах, её состав нельзя менять интерактивно пользователем (только разработчиком), а в веб-клиенте панель может отображаться свёрнутой — пользователь раскрывает её вручную.

Итог

Что важно запомнить

Основной путь добавления пункта в панель навигации — конфигуратор → объект → «Командный интерфейс» → включение видимости команды. Для нестандартных переходов создаётся собственная команда с заполненным типом параметра. Изменения применяются после обновления конфигурации БД, а видимость зависит также от настроек конкретной формы и прав пользователя.

Частые вопросы

Почему созданная команда не появляется в панели навигации?

Чаще всего не заполнено свойство «Тип параметра команды» — без него платформа не привязывает команду к формам. Также проверьте, что видимость включена в командном интерфейсе объекта и не отключена в конкретной форме, а конфигурация БД обновлена.

Можно ли добавить в панель навигации отчёт или обработку?

Да. Создайте команду у объекта, в обработчике которой открывается форма отчёта или обработки с передачей ссылки на текущий объект как параметра. Затем включите команду в панели навигации через командный интерфейс.

Как изменить порядок пунктов в панели навигации?

Откройте «Командный интерфейс» объекта в конфигураторе и перемещайте команды кнопками «Вверх»/«Вниз» в списке панели навигации. Порядок в списке соответствует порядку отображения в форме.

Почему у одного пользователя команда видна, а у другого нет?

Платформа автоматически скрывает команды перехода к объектам, на просмотр которых у пользователя нет прав. Проверьте роли второго пользователя и права на объект назначения — регистр, справочник или отчёт.

Можно ли настроить панель навигации без изменения типовой конфигурации?

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

Работает ли панель навигации в обычном приложении 1С 8.3?

Нет, панель навигации — механизм управляемых форм и интерфейса «Такси». В обычных формах аналогичную роль играют кнопки «Перейти» и командная панель формы, которые настраиваются отдельно.