При работе с конфигурациями 1С на управляемых формах, особенно в таких системах, как 1С:УНФ, пользователи и разработчики часто сталкиваются с различными элементами интерфейса, назначение и механизмы работы которых не всегда очевидны. Один из таких элементов — это так называемая «панель вкладок» или «панель гиперссылок», которую можно увидеть, например, в карточке справочника «Номенклатура». Часто возникает вопрос, как эта панель формируется, можно ли ее настроить и где искать соответствующий код.
Давайте разберемся подробнее, что представляет собой эта панель, как она работает и какие возможности по ее управлению предоставляет платформа 1С:Предприятие, включая доступ к скрытым реквизитам форм.
То, что пользователи и разработчики часто называют «панелью вкладок» или «БСП-шной панелью» (как это изначально предполагал автор вопроса), на самом деле является стандартным элементом платформы 1С:Предприятие 8 — панелью навигации формы — есть готовая встроенная панель вкладок с отчетами для документов УНФ. Эта панель генерируется платформой автоматически и служит для быстрого доступа к командам, отчетам, регистрам, связанным с текущим объектом формы, а также для перехода к группам команд. Она не является специфической разработкой Библиотеки Стандартных Подсистем (БСП), хотя БСП активно использует и расширяет ее функционал, добавляя свои команды и управляя их отображением.
Панель навигации обычно располагается слева от основной области формы и содержит набор гиперссылок или вкладок, таких как «Основное», «Характеристики», «Партии», «Серии», «Цены», «Документы», «Присоединенные файлы», «Отчеты» и другие. Эти элементы представляют собой команды или переходы к связанной информации и настройкам, которые облегчают работу пользователя с данными.
Когда мы видим гиперссылку на панели навигации, например, «Штрихкоды», мы можем задаться вопросом: как найти эту команду в конфигурации? Давайте рассмотрим по шагам, как это можно сделать:
ШтрихкодыНоменклатуры (функционал которой можно расширить через автоматическое создание штрихкодов), которая связана с регистром сведений ШтрихкодыНоменклатуры.ШтрихкодыНоменклатуры). У этого регистра сведений могут быть команды. Или же мы можем искать команду по названию непосредственно в дереве конфигурации. Важно помнить, что на форме отображается синоним команды, а не ее внутреннее имя. Поэтому, даже если вы не видите команду с именем ШтрихкодыНоменклатуры на форме, это не означает, что ее нет — просто синоним может быть другим, например, «Штрихкоды».Панель навигации формы не является статичной. Платформа предоставляет широкие возможности для ее настройки (по аналогии с тем, как выполняется настройка динамических списков), как для разработчиков, так и для конечных пользователей. Давайте рассмотрим, как пользователь может адаптировать панель под свои нужды:
Для разработчика платформа 1С:Предприятие предоставляет еще более глубокие механизмы управления панелью навигации. Мы можем программно влиять на ее состав, расположение и поведение — для этой задачи есть расширение для управления видимостью и поведением элементов формы.
С помощью свойства формы ПоложениеКоманднойПанели мы можем управлять отображением и позицией командной панели. По умолчанию для управляемых форм это свойство часто установлено в значение Авто, что означает, что платформа сама определяет оптимальное размещение. Однако мы можем изменить его на:
Нет: Полностью отключить отображение командной панели на форме.Сверху, Снизу, Слева, Справа: Явно указать, где должна располагаться командная панель (хотя для панели навигации, как правило, используется только положение слева).Для командных панелей, включая панель навигации, существует свойство Автозаполнение. Если оно установлено в Истина (по умолчанию), система автоматически формирует состав команд, исходя из связанных объектов, стандартных команд и других настроек конфигурации. Если же мы устанавливаем Автозаполнение в Ложь, то состав команд формируется вручную разработчиком, что дает полный контроль над отображаемыми элементами. Это свойство используется для более тонкой настройки, когда необходимо исключить или добавить специфические команды, не подпадающие под автоматическое формирование.
Для создания более структурированного интерфейса разработчики могут использовать группировку команд. Это позволяет объединять связанные команды в логические блоки. Например, все команды, относящиеся к ценам, могут быть собраны в группу «Цены», а команды для работы с файлами — в группу «Присоединенные файлы». Такой подход значительно улучшает юзабилити формы, особенно при большом количестве команд.
Как мы уже упоминали, панель навигации автоматически размещает команды на связанные объекты, такие как регистры сведений или подчиненные справочники. Для этих команд можно управлять видимостью. Если для команды снят флажок Автовидимость, то мы можем вручную настроить ее видимость в зависимости от определенных условий. Например, показывать команду «Серии» только для той номенклатуры, которая имеет серийный учет.
Это достигается через свойства команды или через обработчики событий формы, где мы программно управляем свойством Видимость элементов панели или используем приемы для изменения цвета фона элементов. Рассмотрим пример:
// В обработчике формы ПриСозданииНаСервере или ПриОткрытии
&НаСервере
Процедура ПриОткрытииНаСервере()
// Предположим, у нас есть команда для регистра "СерииНоменклатуры"
// и ее элемент на панели навигации называется "Серии"
Элементы.ПанельНавигации.Элементы.Серии.Видимость = ИспользоватьСерииДляНоменклатуры;
КонецПроцедуры
Здесь ИспользоватьСерииДляНоменклатуры — это булево значение, которое мы определяем на сервере, например, исходя из свойств текущего элемента номенклатуры.
Каждая команда, которая может быть размещена на панели навигации (или на любой другой командной панели формы), обладает набором свойств, позволяющих гибко настроить ее внешний вид и поведение:
Действие: Это имя процедуры-обработчика, которая будет выполнена при нажатии на команду. Именно здесь заключается основная логика, например, открытие списка регистра сведений, формы отчета или выполнение какой-либо операции.Заголовок: Текст, который отображается на кнопке или гиперссылке команды. Это тот самый «Синоним», о котором мы говорили ранее. Например, «Штрихкоды», «Характеристики», «Цены».Картинка: Иконка, которая может отображаться рядом с заголовком команды. Иконки делают интерфейс более наглядным и помогают пользователю быстрее ориентироваться.Отображение: Свойство, определяющее, как будет отображаться команда — только текст, только картинка, картинка и текст, или автоматически. Для панели навигации часто используется «Текст» или «Картинка и текст».Подсказка: Всплывающий текст, который появляется при наведении курсора на команду. Позволяет дать пользователю дополнительную информацию о назначении команды.СочетаниеКлавиш: Комбинация клавиш, которая может быть назначена команде для быстрого вызова без использования мыши.Когда мы исследуем команды в конфигураторе, мы можем найти их в различных местах:
В контексте справочника «Номенклатура» в 1С:УНФ панель навигации играет особо важную роль, так как номенклатура является одним из центральных объектов системы и может иметь множество связанных данных и настроек. Гиперссылки на панели навигации для номенклатуры могут включать:
Каждая из этих гиперссылок является командой, которая либо открывает соответствующую форму (например, форму списка характеристик), либо выполняет какое-либо действие, специфичное для данной номенклатуры.
1С:УНФ, особенно в своих последних версиях (например, 3.0.13 и интерфейс «Такси»), активно использует возможности панели навигации и других элементов управляемых форм для создания удобного и интуитивно понятного пользовательского интерфейса. Это позволяет организовать рабочее пространство гибко, будь то в виде закладок, отдельных окон или других вариантов.
Таким образом, «панель вкладок» в справочнике «Номенклатура» 1С:УНФ — это не специализированный модуль БСП, а стандартная панель навигации формы платформы 1С:Предприятие — ускоряет работу настраиваемая панель кнопок-закладок для быстрого доступа к данным. Она автоматически генерируется системой, собирая команды, связанные с текущим объектом формы, а также позволяя разработчикам и пользователям гибко настраивать ее содержимое. Понимая этот механизм, мы можем не только эффективно использовать стандартные возможности 1С, но и настраивать их под конкретные задачи, делая работу с программой максимально удобной и продуктивной.
Для поиска конкретных команд и понимания их реализации, следует исследовать свойства команд в конфигураторе, обращая внимание на их имена, синонимы, а также связи с регистрами и другими объектами, используя пример, который мы рассмотрели — команду ШтрихкодыНоменклатуры, связанную с регистром сведений ШтрихкодыНоменклатуры — поможет инструментарий разработчика для анализа метаданных и поиска ссылок в 1С.