Разработка и Конфигурация · 10 мин
Панель навигации формы 1С 8.3: как добавить команду
Как добавить команду в панель навигации формы в 1С 8.3: через конфигуратор, командный интерфейс и программно. Пошаговая инструкция, ошибки и проверка результата.
Панель навигации формы в 1С 8.3 — это вертикальная область в левой части формы списка или элемента, где расположены ссылки на связанные объекты: регистры сведений, подчинённые справочники, регистры накопления по документу и другие данные. Она позволяет пользователю, не закрывая текущий объект, перейти к информации, которая с ним связана.
Добавить элемент в панель навигации можно тремя способами: через настройку командного интерфейса объекта в конфигураторе, через свойства управляемой формы и программно — через коллекцию команд формы. Выбор зависит от задачи: типовые связи настраиваются в конфигураторе без единой строки кода, а нестандартные переходы требуют создания собственной команды.
Материал ориентирован на платформу 8.3 с управляемыми формами и интерфейсом «Такси». В обычных формах механизм панели навигации отсутствует — там используется командная панель и кнопки «Перейти».
Что такое панель навигации и когда её нужно дорабатывать
Панель навигации формируется автоматически: платформа анализирует связи объекта с другими метаданными и выводит команды перехода. Например, для документа «Реализация товаров» в панели появляются регистры, по которым документ делает движения, а для справочника «Контрагенты» — подчинённые справочники и регистры сведений с отбором по владельцу.
Доработка требуется в нескольких ситуациях: нужно показать пользователю нестандартный отчёт по текущему объекту, добавить переход к обработке, скрыть лишние автоматические команды или изменить порядок и группировку пунктов. Также панель навигации настраивают, когда новый собственный регистр или справочник должен быть доступен из формы связанного объекта.
Как добавить команду через командный интерфейс объекта
Самый простой способ — настройка в конфигураторе без программирования. Откройте дерево конфигурации, найдите нужный объект (справочник, документ), вызовите контекстное меню и выберите пункт «Командный интерфейс». Откроется окно с тремя областями: панель навигации, командная панель формы и командная панель списка.
В области «Панель навигации» вы увидите список доступных команд: стандартные переходы к регистрам и подчинённым объектам, а также команды отчётов и обработок, у которых в свойствах указан параметр связи с данным типом объекта. Установите флажок видимости напротив нужной команды — после обновления конфигурации она появится в панели навигации формы.
- 1Откройте конфигуратор и найдите объект в дереве конфигурации
- 2Кликните правой кнопкой → «Командный интерфейс»
- 3В группе «Панель навигации» включите видимость нужной команды
- 4При необходимости измените порядок кнопками перемещения
- 5Обновите конфигурацию базы данных (F7)
- 6Откройте форму объекта в режиме предприятия и проверьте панель
Если нужной команды в списке нет, значит платформа не видит связи между объектами. Для регистра сведений проверьте, что измерение регистра ссылается на ваш объект; для отчёта или обработки — что в их свойствах настроен ввод на основании или параметры связи.
Как создать собственную команду объекта
Когда стандартных команд недостаточно, создайте собственную. В дереве конфигурации у объекта есть ветка «Команды». Добавьте новую команду, задайте ей имя и синоним — именно синоним увидит пользователь в панели навигации.
В свойствах команды важны два параметра. «Тип параметра команды» определяет, в формах каких объектов команда будет доступна, — укажите ссылку на ваш справочник или документ. «Режим использования параметра» управляет передачей данных: «Одиночный» передаёт одну ссылку, «Множественный» — список выделенных элементов.
В модуле команды опишите действие — например, открытие формы обработки с параметром:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ПараметрыФормы = Новый Структура("ОбъектСсылка", ПараметрКоманды);
ОткрытьФорму("Обработка.ИсторияИзменений.Форма", ПараметрыФормы,
ПараметрыВыполненияКоманды.Источник,
ПараметрыВыполненияКоманды.Уникальность,
ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры
После создания команды снова откройте «Командный интерфейс» объекта и включите её видимость в панели навигации — новые команды по умолчанию могут быть скрыты.
Настройка панели навигации в редакторе формы
Второй уровень настройки — сама управляемая форма. Откройте основную форму объекта в конфигураторе, перейдите на закладку «Командный интерфейс» в палитре свойств формы. Там доступны те же группы: панель навигации и командная панель, но с привязкой к конкретной форме.
Здесь можно переопределить видимость и порядок команд именно для этой формы, не меняя глобальные настройки объекта. Это удобно, когда конфигурация содержит несколько форм одного объекта: например, полная форма элемента показывает все переходы, а упрощённая форма для менеджеров — только два основных.
Обратите внимание: настройки формы имеют приоритет над общими настройками командного интерфейса объекта. Если команда включена в конфигураторе объекта, но не отображается, проверьте, не отключена ли она в конкретной форме.
Программное добавление команды в панель навигации
В редких случаях команду нужно добавить динамически — например, в зависимости от функциональных опций или роли пользователя. Это делается в обработчике ПриСозданииНаСервере через коллекции Команды и Элементы формы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
НоваяКоманда = Команды.Добавить("ОткрытьСопутствующиеТовары");
НоваяКоманда.Заголовок = НСтр("ru = 'Сопутствующие товары'");
НоваяКоманда.Действие = "Подключаемый_ОткрытьСопутствующие";
НовыйЭлемент = Элементы.Добавить("ФормаОткрытьСопутствующие",
Тип("КнопкаФормы"), Элементы.ПанельНавигации);
НовыйЭлемент.ИмяКоманды = "ОткрытьСопутствующиеТовары";
КонецПроцедуры
Группа панели навигации обычно называется «ПанельНавигации», но в типовых конфигурациях имя может отличаться — уточните его в структуре элементов формы. Динамическое добавление усложняет поддержку: при обновлении типовой конфигурации такой код может конфликтовать с изменениями поставщика.
Группировка, порядок и скрытие лишних пунктов
По мере роста конфигурации панель навигации разрастается, и пользователю становится трудно ориентироваться. Порядок команд меняется в окне «Командный интерфейс» кнопками «Вверх» и «Вниз» — чем выше команда в списке, тем выше она в панели.
Лишние автоматические команды (например, переходы к служебным регистрам) просто снимите флажком видимости. Это безопасная операция: сами данные и связи метаданных не затрагиваются, скрывается только кнопка перехода.
Для логической группировки в форме можно создать свои группы внутри панели навигации типа «ГруппаКнопок» и распределить команды по ним — например, «Движения», «Печать», «Дополнительно». В типовых конфигурациях часть такой группировки уже выполнена, и важно не сломать существующую структуру.
Проверка результата и ограничения механизма
После любого изменения обновите конфигурацию базы данных и откройте форму объекта в режиме 1С:Предприятие. Проверьте три вещи: команда видна в панели навигации, её заголовок понятен пользователю, а нажатие открывает нужную форму с корректным отбором по текущему объекту.
Проверьте права: если у пользователя нет права просмотра объекта назначения (например, регистра), команда в панели навигации будет скрыта автоматически — это нормальное поведение платформы, а не ошибка настройки.
Как проверить результат
Пункт виден с понятным заголовком в ожидаемой позиции
Команды нет или видно техническое имя
Открывается форма с отбором по текущему объекту
Открывается пустой список или ошибка выполнения
У пользователей без прав команда скрыта
Ошибка нарушения прав при нажатии
Ограничения механизма: панель навигации недоступна в обычных формах, её состав нельзя менять интерактивно пользователем (только разработчиком), а в веб-клиенте панель может отображаться свёрнутой — пользователь раскрывает её вручную.
Что важно запомнить
Основной путь добавления пункта в панель навигации — конфигуратор → объект → «Командный интерфейс» → включение видимости команды. Для нестандартных переходов создаётся собственная команда с заполненным типом параметра. Изменения применяются после обновления конфигурации БД, а видимость зависит также от настроек конкретной формы и прав пользователя.
Частые вопросы
Почему созданная команда не появляется в панели навигации?
Чаще всего не заполнено свойство «Тип параметра команды» — без него платформа не привязывает команду к формам. Также проверьте, что видимость включена в командном интерфейсе объекта и не отключена в конкретной форме, а конфигурация БД обновлена.
Можно ли добавить в панель навигации отчёт или обработку?
Да. Создайте команду у объекта, в обработчике которой открывается форма отчёта или обработки с передачей ссылки на текущий объект как параметра. Затем включите команду в панели навигации через командный интерфейс.
Как изменить порядок пунктов в панели навигации?
Откройте «Командный интерфейс» объекта в конфигураторе и перемещайте команды кнопками «Вверх»/«Вниз» в списке панели навигации. Порядок в списке соответствует порядку отображения в форме.
Почему у одного пользователя команда видна, а у другого нет?
Платформа автоматически скрывает команды перехода к объектам, на просмотр которых у пользователя нет прав. Проверьте роли второго пользователя и права на объект назначения — регистр, справочник или отчёт.
Можно ли настроить панель навигации без изменения типовой конфигурации?
Да, через расширение конфигурации: добавьте собственную команду и форму в расширении, заимствуйте нужную форму и настройте её командный интерфейс. Это сохранит возможность простого обновления типовой конфигурации.
Работает ли панель навигации в обычном приложении 1С 8.3?
Нет, панель навигации — механизм управляемых форм и интерфейса «Такси». В обычных формах аналогичную роль играют кнопки «Перейти» и командная панель формы, которые настраиваются отдельно.