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