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

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

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

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

Почему вложенные подсистемы не создают заголовки в панели отчетов?

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

Если подсистема содержит только отчеты и не имеет собственных экранных форм или команд, платформа в целях оптимизации экранного пространства может «поднимать» эти отчеты на уровень выше, игнорируя вложенность. Чтобы изменить это поведение или имитировать его, нам потребуются дополнительные инструменты.

Способ 1. Использование механизма «Группы команд»

Это наиболее правильный и «чистый» способ с точки зрения идеологии платформы 8.3. Он позволяет создать визуальные разделители (заголовки) внутри стандартной панели отчетов без написания лишнего кода.

Разберем этот процесс по шагам:

  1. Откроем дерево конфигурации и перейдем в ветку Общие -> Группы команд.
  2. Создадим новую группу команд, например, ГруппаОтчетыПоПродажам.
  3. В свойствах созданной группы в поле Категория выберем значение Панель действий.Отчеты. Именно эта настройка скажет платформе, что группа должна отображаться в блоке отчетов.
  4. Установим понятный заголовок для группы (например, «Отчеты по продажам»).
  5. Теперь перейдем в настройки подсистемы, в которой находятся наши отчеты. Нажмем кнопку Командный интерфейс.
  6. В открывшемся окне мы увидим нашу новую группу. Теперь достаточно простым перетаскиванием или выбором в колонке Группа переместить нужные отчеты в созданную категорию.

В результате в пользовательском режиме в разделе «Отчеты» появится жирный заголовок, под которым будут аккуратно собраны соответствующие отчеты. Это позволяет избежать «каши» и дает пользователю четкое понимание структуры данных.

Способ 2. Использование подсистемы «Варианты отчетов» из БСП

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

В современных типовых решениях (таких как ERP, КА, УТ 11) используется специальная форма «Панель отчетов». Группировка в ней происходит не по структуре подсистем в конфигураторе, а через справочник Варианты отчетов. Проанализируем преимущества этого подхода:

  1. Гибкость: Один и тот же отчет может находиться в нескольких смысловых группах одновременно.
  2. Пользовательская настройка: Администратор или даже конечный пользователь может сам создавать группы и перемещать в них отчеты прямо в режиме «1С:Предприятие», не прибегая к конфигуратору.
  3. Поиск и избранное: БСП предоставляет удобные механизмы поиска по описаниям отчетов и возможность добавления в «Избранное».

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

Способ 3. Создание собственных команд открытия (ручной метод)

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

Для этого выполним следующие действия:

  1. Исключим отчет из всех подсистем (уберем галочки на закладке «Использование»).
  2. Создадим новый объект Общая команда или добавим команду непосредственно в объект отчета.
  3. В обработчике команды пропишем код для открытия формы отчета:

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

Важно: Этот метод считается более трудоемким («костыльным»), так как для каждого отчета придется создавать отдельный объект команды. Мы рекомендуем использовать его только в исключительных случаях.

Влияние функциональных опций на видимость групп

Разберем ситуацию, когда вы настроили группы команд, но они не отображаются. Выясним причину. Часто отчеты привязаны к Функциональным опциям. Если отчет входит в функциональную опцию, которая в данный момент выключена (например, в константах не установлена галочка «Использовать складской учет»), то ни сам отчет, ни группа команд, к которой он привязан, не появятся в интерфейсе.

Проверьте следующие моменты:

Резюме

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

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

← На главную