Как структурировать и красиво расположить отчеты в интерфейсе 1С

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

Часто при разработке конфигурации или доработке типовых решений мы сталкиваемся с тем, что добавленные отчеты отображаются в интерфейсе "одной кучей". Даже если мы разложили их по разным подсистемам в дереве метаданных, в самом разделе "Отчеты" пользователь видит бесконечный список, в котором сложно ориентироваться. Это создает неудобства, особенно когда количество отчетов переваливает за десяток. Разберем подробно, как привести интерфейс в порядок и сделать его профессиональным, как в типовых решениях уровня "Бухгалтерия предприятия".

Метод 1: Использование групп команд в панели действий

Это самый быстрый и эффективный способ визуально разделить отчеты на логические блоки (например, "Отчеты по персоналу" и "Отчеты по управлению"). Проблема автора заключалась в том, что простое включение отчета в подсистему не создает автоматических заголовков в интерфейсе. Нам нужно настроить командный интерфейс подсистемы вручную.

Проанализируем шаги, которые необходимо выполнить:

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

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

Метод 2: Организация через дочерние подсистемы

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

Выясним причину, почему подразделы могут не отображаться:

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

Посмотрим на алгоритм настройки:

Метод 3: Использование механизмов БСП (Варианты отчетов)

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

Разберем по шагам, как это работает:

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

Преимущества такого подхода:

  1. Пользователь может сам искать отчеты через строку поиска в панели отчетов.
  2. Можно добавлять подробные описания к каждому отчету, которые будут видны сразу.
  3. Возможность вывода нескольких вариантов одного и того же отчета (построенного на СКД) в разные папки интерфейса.

Для регистрации отчета в коде модуля менеджера отчета обычно используется процедура НастроитьВариантыОтчета. Рассмотрим пример кода:


Процедура НастроитьВариантыОтчета(Настройки, ОписаниеОтчета) Экспорт
    ОписаниеВарианта = ВариантыОтчетов.ОписаниеВарианта(Настройки, ОписаниеОтчета, "Основной");
    ОписаниеВарианта.Описание = НСтр("ru = 'Подробный отчет по движению персонала за период'");
    ОписаниеВарианта.Размещение.Вставить(Метаданные.Подсистемы.ОтчетыПоПерсоналу);
КонецПроцедуры

Метод 4: Индивидуальная настройка через общие формы

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

Алгоритм работы следующий:

  1. Создаем общую форму с именем ПанельОтчетовПерсонал.
  2. На форму добавляем элементы типа Гиперссылка.
  3. В обработчике нажатия на гиперссылку прописываем программное открытие нужного отчета.

Пример программного открытия отчета:


&НаКлиенте
Процедура ОткрытьОтчетПоПерсоналу(Команда)
    ПараметрыФормы = Новый Структура("СформироватьПриОткрытии", Истина);
    ОткрытьФорму("Отчет.ДвижениеПерсонала.Форма", ПараметрыФормы);
КонецПроцедуры

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

Метод 5: Управление вариантами СКД

Часто один объект Отчет в конфигураторе содержит в себе 5–10 разных вариантов (например, "Ведомость", "Остатки", "Кратко"). Если мы просто добавим отчет в интерфейс, пользователь увидит только основной вариант. Чтобы "красиво" разнести эти варианты по разным подразделам, нужно зайти в настройки командного интерфейса подсистемы, развернуть узел конкретного отчета и выставить флажки видимости для каждого варианта отдельно, перетащив их в соответствующие группы команд.

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

← На главную