Как формируется и настраивается панель навигации (панель вкладок) в справочнике Номенклатуры 1С:УНФ?

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

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

Давайте разберемся подробнее, что представляет собой эта панель, как она работает и какие возможности по ее управлению предоставляет платформа 1С:Предприятие, включая доступ к скрытым реквизитам форм.

Что такое панель навигации формы?

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

Панель навигации обычно располагается слева от основной области формы и содержит набор гиперссылок или вкладок, таких как «Основное», «Характеристики», «Партии», «Серии», «Цены», «Документы», «Присоединенные файлы», «Отчеты» и другие. Эти элементы представляют собой команды или переходы к связанной информации и настройкам, которые облегчают работу пользователя с данными.

Как идентифицировать команды на панели навигации?

Когда мы видим гиперссылку на панели навигации, например, «Штрихкоды», мы можем задаться вопросом: как найти эту команду в конфигурации? Давайте рассмотрим по шагам, как это можно сделать:

  1. Определим имя команды: Если речь идет о командах, связанных с регистрами сведений или другими объектами, то часто имя команды совпадает с именем соответствующего объекта, либо содержит его. Например, если мы видим гиперссылку «Штрихкоды», очень вероятно, что в конфигурации существует команда с именем ШтрихкодыНоменклатуры (функционал которой можно расширить через автоматическое создание штрихкодов), которая связана с регистром сведений ШтрихкодыНоменклатуры.
  2. Просмотрим свойства команды: Откроем конфигуратор и найдем соответствующий регистр сведений (в нашем примере — ШтрихкодыНоменклатуры). У этого регистра сведений могут быть команды. Или же мы можем искать команду по названию непосредственно в дереве конфигурации. Важно помнить, что на форме отображается синоним команды, а не ее внутреннее имя. Поэтому, даже если вы не видите команду с именем ШтрихкодыНоменклатуры на форме, это не означает, что ее нет — просто синоним может быть другим, например, «Штрихкоды».
  3. Исследуем связь с объектом формы: Часто команды панели навигации связаны с текущим объектом формы (например, с элементом справочника «Номенклатура»). Для таких команд, если они ведут к подчиненным данным (регистрам, справочникам), обычно устанавливается свойство «Использовать стандартные команды». Это позволяет платформе автоматически размещать ссылки на такие данные в панели навигации.

Настройка панели навигации формы: возможности пользователя

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

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

Разработка и управление панелью навигации: взгляд программиста

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

Положение командной панели формы

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

Свойство "Автозаполнение" командной панели

Для командных панелей, включая панель навигации, существует свойство Автозаполнение. Если оно установлено в Истина (по умолчанию), система автоматически формирует состав команд, исходя из связанных объектов, стандартных команд и других настроек конфигурации. Если же мы устанавливаем Автозаполнение в Ложь, то состав команд формируется вручную разработчиком, что дает полный контроль над отображаемыми элементами. Это свойство используется для более тонкой настройки, когда необходимо исключить или добавить специфические команды, не подпадающие под автоматическое формирование.

Группировка команд

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

Настройка видимости подчиненных объектов

Как мы уже упоминали, панель навигации автоматически размещает команды на связанные объекты, такие как регистры сведений или подчиненные справочники. Для этих команд можно управлять видимостью. Если для команды снят флажок Автовидимость, то мы можем вручную настроить ее видимость в зависимости от определенных условий. Например, показывать команду «Серии» только для той номенклатуры, которая имеет серийный учет.

Это достигается через свойства команды или через обработчики событий формы, где мы программно управляем свойством Видимость элементов панели или используем приемы для изменения цвета фона элементов. Рассмотрим пример:


// В обработчике формы ПриСозданииНаСервере или ПриОткрытии
&НаСервере
Процедура ПриОткрытииНаСервере()
    // Предположим, у нас есть команда для регистра "СерииНоменклатуры"
    // и ее элемент на панели навигации называется "Серии"
    Элементы.ПанельНавигации.Элементы.Серии.Видимость = ИспользоватьСерииДляНоменклатуры;
КонецПроцедуры

Здесь ИспользоватьСерииДляНоменклатуры — это булево значение, которое мы определяем на сервере, например, исходя из свойств текущего элемента номенклатуры.

Свойства команд: детализация

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

Когда мы исследуем команды в конфигураторе, мы можем найти их в различных местах:

Панель навигации в 1С:УНФ (Справочник Номенклатура)

В контексте справочника «Номенклатура» в 1С:УНФ панель навигации играет особо важную роль, так как номенклатура является одним из центральных объектов системы и может иметь множество связанных данных и настроек. Гиперссылки на панели навигации для номенклатуры могут включать:

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

1С:УНФ, особенно в своих последних версиях (например, 3.0.13 и интерфейс «Такси»), активно использует возможности панели навигации и других элементов управляемых форм для создания удобного и интуитивно понятного пользовательского интерфейса. Это позволяет организовать рабочее пространство гибко, будь то в виде закладок, отдельных окон или других вариантов.

Заключение

Таким образом, «панель вкладок» в справочнике «Номенклатура» 1С:УНФ — это не специализированный модуль БСП, а стандартная панель навигации формы платформы 1С:Предприятие — ускоряет работу настраиваемая панель кнопок-закладок для быстрого доступа к данным. Она автоматически генерируется системой, собирая команды, связанные с текущим объектом формы, а также позволяя разработчикам и пользователям гибко настраивать ее содержимое. Понимая этот механизм, мы можем не только эффективно использовать стандартные возможности 1С, но и настраивать их под конкретные задачи, делая работу с программой максимально удобной и продуктивной.

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

← На главную