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