При формировании стандартных или внешних отчетов на базе Универсального отчета в 1С пользователи часто сталкиваются с тем, что шапка отчета выглядит перегруженной. По умолчанию платформа выводит в заголовок не только само название отчета, но и весь список установленных группировок, отборов и технических параметров. Это делает документ нечитаемым при печати или выгрузке в Excel.
В этой статье мы подробно разберем, как решить эту задачу в разных версиях платформы 1С. Мы изучим как простые пользовательские настройки интерфейса, так и программные методы управления выводом заголовка для разработчиков.
Если вы работаете в современных конфигурациях (таких как 1С:ERP, 1С:Комплексная автоматизация, 1С:Управление торговлей 11 или 1С:Бухгалтерия 3.0), ваш Универсальный отчет построен на базе Системы компоновки данных (СКД) и библиотечных механизмов. В этом случае программировать ничего не нужно — все настраивается в пользовательском режиме.
Вариант А. Через форму изменения варианта отчета:
Вариант Б. Через панель быстрых настроек оформления:
Если вы разрабатываете собственный внешний отчет на базе схемы компоновки данных и хотите сразу жестко предопределить поведение заголовка без необходимости ручной настройки пользователем, используйте возможности КомпоновщикНастроек.
Для этого в модуле объекта отчета (или в модуле формы перед формированием) напишем код, который программно отключит вывод служебной информации в шапке:
// Отключаем вывод параметров в заголовке отчета
ПараметрВыводаПараметры = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных"));
Если ПараметрВыводаПараметры <> Неопределено Тогда
ПараметрВыводаПараметры.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить;
ПараметрВыводаПараметры.Использование = Истина;
КонецЕсли;
// Отключаем вывод отборов в заголовке отчета
ПараметрВыводаОтбор = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор"));
Если ПараметрВыводаОтбор <> Неопределено Тогда
ПараметрВыводаОтбор.Значение = ТипВыводаТекстаКомпоновкиДанных.НеВыводить;
ПараметрВыводаОтбор.Использование = Истина;
КонецЕсли;
Этот способ является наиболее безопасным и методологически правильным для СКД, так как платформа сама корректно перестроит макет вывода без физического удаления строк из результирующего документа.
В старых конфигурациях 1С (УПП 1.3, КА 1.1, УТ 10.3) Универсальный отчет строился на базе построителя отчетов, а вывод заголовка осуществлялся в обычных формах. В этом случае тонкой настройки отображения элементов шапки через интерфейс не предусмотрено.
Рассмотрим решение, предложенное в обсуждении на форуме. Мы можем перехватить готовый сформированный ТабличныйДокумент и принудительно удалить из него область строк, содержащую параметры и отборы.
Для этого откроем модуль внешнего отчета, найдем процедуру формирования и добавим код удаления ненужных строк:
Процедура СформироватьОтчет(ТабличныйДокумент) Экспорт
// Перед формированием отчета можно установить необходимые параметры
УниверсальныйОтчет.СформироватьОтчет(ТабличныйДокумент);
// Удаляем строки с отборами и параметрами (например, строку номер 6)
Попытка
ТабличныйДокумент.УдалитьОбласть(ТабличныйДокумент.Область("R6:R6"), ТипСмещенияТабличногоДокумента.ПоВертикали);
Исключение
// Обработка ошибки, если область с таким адресом отсутствует
КонецПопытки;
КонецПроцедуры
Важный нюанс: Этот метод имеет существенный недостаток. Если пользователь изменит структуру группировок или добавит новые быстрые отборы на форму, границы заголовка могут сместиться по вертикали. Строка "R6:R6" может сместиться на "R7:R7" или "R5:R5", из-за чего ваш код удалит либо пустую строку, либо важные данные отчета.
Чтобы сделать этот метод более надежным, рекомендуется выполнять динамический поиск строк в полученном документе по ключевым словам (например, искать ячейку со словом "Отбор:" или "Параметры:") и только после этого удалять найденный диапазон строк.
Часто бизнес-пользователям все же требуется видеть в шапке отчета ключевую информацию, например, период формирования (например, "Продажи за Январь 2026 года"), но они категорически против вывода технических полей группировок. Достичь этого можно с помощью механизма Макетов СКД:
ГруппаЗаголовок.Отчет по продажам за период с [ДатаНачала] по [ДатаКонца].ДатаНачала и ДатаКонца с соответствующими параметрами СКД.Таким образом, на экран будет выводиться только стильный, лаконичный заголовок с понятными для бизнеса параметрами, а громоздкие технические таблицы с отборами будут полностью скрыты.