Как добавить свою закладку на форму контрагента в 1С:УНФ?

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

В конфигурации 1С:Управление нашей фирмой (УНФ), как и во многих других на управляемых формах, в карточке контрагента или другого объекта есть навигационные закладки: "Основное", "Договоры", "События" и так далее. Часто возникает задача добавить сюда свою собственную закладку для быстрого доступа к связанным отчетам или документам. На первый взгляд, этих элементов нет на самой форме в конфигураторе, что может вызвать затруднения. Разберемся, что это за элементы и как ими управлять.

Природа "закладок": разбираемся с командным интерфейсом

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

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

Для нашей задачи — добавления новой закладки, которая будет связана с текущим контрагентом, — нам понадобятся глобальные параметризуемые команды. "Параметризуемая" означает, что команда может принимать на вход некий параметр, в нашем случае — ссылку на конкретного контрагента, карточка которого открыта.

Пошаговая инструкция по добавлению новой закладки

Проанализируем весь процесс добавления новой навигационной команды на примере справочника Контрагенты. Весь процесс выполняется в режиме конфигуратора.

  1. Создание команды объекта.
    Откроем конфигуратор и найдем в дереве объектов нужный нам справочник, например, Справочник.Контрагенты. Перейдем на вкладку "Команды" и создадим новую команду. Зададим ей понятное имя (например, СвязанныеЗадачи) и "Представление" — это тот текст, который увидит пользователь на закладке (например, "Связанные задачи").
  2. Указание группы навигации.
    Это ключевой шаг. Чтобы наша команда появилась именно в панели навигации, необходимо правильно указать свойство "Группа". Платформа предлагает стандартные группы. Для нашей цели подходят:
    • Панель навигации формы.Перейти — для основных, часто используемых ссылок. Команда появится в основной группе закладок.
    • Панель навигации формы.См. также — для второстепенных ссылок, которые будут доступны по кнопке "См. также".
    Выберем для нашего примера Панель навигации формы.Перейти.
  3. Настройка параметра команды.
    Чтобы команда "знала", для какого именно контрагента ее вызвали, необходимо сделать ее параметризуемой. В свойстве команды "Тип параметра команды" укажем тип ссылки на наш объект: СправочникСсылка.Контрагенты. Как только мы это сделаем, платформа поймет, что эту команду можно вызывать из форм, где основным объектом является контрагент, и будет автоматически передавать в нее ссылку на текущий элемент.
  4. Программирование обработчика команды.
    Теперь нужно описать, что будет происходить при нажатии на нашу новую закладку. Откроем модуль команды и напишем код в процедуре ОбработкаКоманды. Параметр, который мы задали на предыдущем шаге (ссылка на контрагента), будет доступен внутри этой процедуры.

    Например, откроем журнал документов "Событие", отфильтрованный по нашему контрагенту:

    
    Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
    	
        ПараметрыФормы = Новый Структура("Отбор", Новый Структура("Контрагент", ПараметрКоманды));
    	
        ОткрытьФорму("Документ.Событие.ФормаСписка", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
    	
    КонецПроцедуры
    

    Здесь ПараметрКоманды — это и есть ссылка на текущего контрагента, из карточки которого мы вызвали команду.

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

    В левой части окна мы увидим дерево доступных команд. В разделе "Глобальные команды" найдем нашу новую команду (она появится там благодаря указанию типа параметра). В правой части окна — структура видимого интерфейса. Найдем группу "Панель навигации" -> "Перейти" и установим галочку видимости для нашей команды, чтобы она отображалась на форме по умолчанию.

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

Пользовательская настройка панелей навигации

Важно помнить, что не только разработчик может управлять составом закладок. Любой пользователь имеет возможность настроить интерфейс "под себя" прямо в режиме "Предприятие", без входа в конфигуратор. Это полезно, чтобы скрыть неиспользуемые стандартные закладки или изменить их порядок.

Рассмотрим, как это сделать:

  1. Находясь в форме контрагента, нажмите правой кнопкой мыши на области с закладками ("Основное", "Договоры" и т.д.).
  2. В появившемся меню выберите пункт "Настройка панели навигации...".
  3. Откроется окно настройки. В левой колонке ("Доступные команды") будет список всех команд, которые разработчик предусмотрел для этой формы. В правой колонке ("Выбранные команды") — те, что отображаются у вас сейчас.
  4. С помощью кнопок со стрелками "Добавить" и "Удалить" можно перемещать команды между колонками, а кнопками со стрелками вверх/вниз — менять их порядок в панели.

Таким образом, можно сделать интерфейс более лаконичным, оставив только самые нужные для работы ссылки. Если потребуется вернуться к стандартным настройкам, в этом же окне нужно нажать кнопку "Ещё" и выбрать "Установить стандартные настройки".

← На главную