К статье
Практический материал

Отчеты и Аналитика · 10 мин

Как сделать макет в СКД 1С: пошаговое руководство

Разбираем, как создать макет в СКД 1С: именованные области, параметры, заполнение ячеек, привязка к отчёту и типичные ошибки при настройке макета схемы компоновки данных.

Макет в системе компоновки данных (СКД) нужен, когда стандартного автоматического формирования отчёта недостаточно: требуется фирменная шапка, нестандартная группировка, подписи руководителей, логотип или жёстко фиксированная структура печатной формы. Макет создаётся на закладке «Макеты» конструктора схемы компоновки данных и позволяет вручную определить, какие области табличного документа и в каком порядке будут выведены.

Работа с макетом СКД состоит из трёх этапов: создание макета с областями, определение параметров макета (полей, которые СКД будет подставлять в ячейки) и привязка макета к группировкам отчёта в настройках схемы. Ошибка на любом из этапов приводит либо к пустым ячейкам, либо к сообщению «Не найден макет» при формировании отчёта.

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

Когда макет в СКД действительно нужен

СКД умеет самостоятельно формировать табличный документ по настройкам отчёта, и в большинстве аналитических отчётов этого достаточно. Макет требуется в ситуациях, где структура вывода жёстко регламентирована: печатные формы с шапкой и подписями, отчёты с фиксированным набором колонок, документы с логотипом и реквизитами организации, формы, где порядок строк не совпадает с порядком группировок запроса.

Признак того, что без макета не обойтись, — требование вывести данные не «сверху вниз по группировкам», а в произвольных местах табличного документа: например, итог в шапке, подпись внизу каждой страницы, несколько таблиц рядом. Также макет нужен, когда одно и то же поле должно выводиться в нескольких местах с разным оформлением.

Маршрут решения

Нужен ли макет в вашем случае

Отчёт аналитический, структура строк и колонок совпадает с группировкамиМакет не нужен — достаточно стандартных настроек СКД
Требуется фиксированная шапка, подписи, логотип или нестандартный порядок областейСоздавайте макет на закладке «Макеты» схемы компоновки
Нужна сложная печатная форма с программной логикой выводаРассмотрите вывод через обычный табличный документ без СКД — это проще в сопровождении

Создание макета и именованных областей

Откройте схему компоновки данных отчёта и перейдите на закладку «Макеты». Нажмите «Добавить макет» — появится пустой табличный документ, похожий на макет печатной формы обычного объекта. В нём вы рисуете статическую часть: заголовки, рамки, оформление, надписи.

Далее выделите диапазон ячеек, который будет выводиться как единый блок, и создайте именованную область: правой кнопкой по выделению — «Свойства», поле «Имя». Имена областей должны быть осмысленными и уникальными, например «Шапка», «СтрокаНоменклатура», «Подвал». СКД обращается к областям именно по этим именам.

Типичный набор областей для отчёта: шапка отчёта, заголовок группировки верхнего уровня, детальная строка, итог по группировке, общий итог, подвал. Необязательно создавать все — начните с шапки и детальной строки, остальное добавите по мере необходимости.

Порядок создания макета
  1. 1
    Откройте схему компоновки данных, закладка «Макеты», кнопка «Добавить макет»
  2. 2
    Нарисуйте статическую часть: заголовки, оформление, рамки
  3. 3
    Выделите диапазон и задайте имя области в свойствах
  4. 4
    В ячейках, куда подставляются данные, укажите параметр в свойстве «Заполнение»
  5. 5
    Задайте параметры макета на закладке «Параметры макета» с типом «Поле»
  6. 6
    В настройках группировок укажите тип макета и имя области

Настройка параметров макета и заполнение ячеек

Ячейка макета может содержать три вида содержимого: текст (неизменяемая надпись), параметр (подставляется значение из данных отчёта) и шаблон (текст с вставками параметров в квадратных скобках, например «Итого по [Номенклатура]»). Вид содержимого задаётся в свойстве ячейки «Заполнение».

Если выбран тип «Параметр», имя параметра указывается в свойстве «Параметр» ячейки, а сам параметр должен быть объявлен на закладке «Параметры макета» (внутри закладки «Макеты»). Там для каждого параметра задаётся имя и тип: «Поле» — значение придёт из поля набора данных СКД, «Параметр» — из параметра отчёта, «Выражение» — вычисляемое значение.

Важное правило: имя параметра макета типа «Поле» должно совпадать с именем поля в наборе данных или вычисляемого поля СКД. Если поле в запросе называется «Номенклатура», а параметр макета — «Товар», значение не подставится, и ячейка останется пустой без какого-либо сообщения об ошибке.

Привязка макета к группировкам в настройках

Сам по себе макет не начинает работать — его нужно подключить к структуре отчёта. Перейдите на закладку «Настройки» схемы компоновки, выделите нужную группировку и в её свойствах найдите параметр вывода «Тип макета». Для группировки, детальных записей и итогов можно указать, какая именованная область макета будет использоваться.

Для заголовка отчёта и общих итогов привязка делается на уровне всей структуры настроек: в параметрах вывода отчёта указываются макеты заголовка и подвала. Если область называется «Шапка», а в настройках указано «ШапкаОтчета», СКД выдаст ошибку о ненайденном макете либо проигнорирует привязку — поведение зависит от версии платформы.

После привязки сформируйте отчёт и проверьте: статический текст областей выводится, параметры подставляются, порядок областей соответствует задуманному. Если выводится только автоматическая таблица без макета — привязка не сработала, проверяйте имена и тип макета в настройках.

Контрольные точки

Как проверить результат

Вывод области
Норма

Именованная область появляется в табличном документе в нужном месте

Тревожный признак

Области нет — проверьте тип макета в настройках группировки и имя области

Подстановка параметров
Норма

В ячейках значения из данных отчёта

Тревожный признак

Пустые ячейки — имя параметра не совпадает с полем набора данных

Итоги
Норма

Ресурсы выводятся в области итогов группировки

Тревожный признак

Итоги пустые — ресурс не добавлен в ресурсы СКД или область привязана не к тому уровню

Макет с несколькими группировками и итогами

Для отчёта с иерархией, например «Склад — Номенклатура», создаются отдельные области для заголовка каждой группировки и для итогов по каждой из них. В области группировки верхнего уровня доступны поля этой группировки и ресурсы, в области детальных записей — все поля набора данных.

Чтобы вывести итог по группировке в произвольном месте (например, до строк деталей, а не после), создаётся отдельная область итога и привязывается к группировке с нужным расположением. Ресурсы в ячейках итоговой области должны быть объявлены на закладке «Ресурсы» схемы компоновки — иначе СКД не рассчитает агрегатные значения.

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

Типичные ошибки
01
Имя параметра макета не совпадает с именем поля набора данных — ячейки остаются пустыми без ошибок
02
Область создана, но тип макета не указан в настройках группировки — отчёт формируется в автоматическом режиме
03
Поле детальных записей используется в области общего итога — значение не выводится
04
Ресурс не добавлен на закладку «Ресурсы» — итоги в макете пустые
05
В имени области используются пробелы или кириллица с опечатками при привязке — СКД не находит область

Альтернативы и ограничения макетов СКД

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

Ограничения макетов СКД: нельзя программно менять содержимое области в момент вывода (только через параметры и выражения), сложно отлаживать расхождения при большом числе группировок, а изменение структуры запроса требует ручной синхронизации параметров макета. Чем сложнее макет, тем выше стоимость его сопровождения при доработках отчёта.

Способы управления выводом отчёта

Автоматический вывод СКД

Подходит для аналитических отчётов; не даёт контроля над расположением областей

Макет СКД

Фиксированная структура и оформление; требует ручной синхронизации параметров с полями

Программный вывод в табличный документ

Полный контроль и любая логика; теряются преимущества настроек СКД для пользователя

Частые вопросы о макетах СКД

Почему отчёт игнорирует макет и выводится как обычно?

Чаще всего не задан тип макета в настройках группировки или параметрах вывода отчёта. Откройте настройки, проверьте, что для нужного уровня структуры выбрана именованная область, и что её имя в точности совпадает с именем области в макете.

Можно ли использовать один макет для нескольких отчётов?

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

Как вывести в макете параметр отчёта, например период?

Добавьте в параметры макета параметр с типом «Параметр» и укажите имя параметра отчёта. В ячейке используйте его как обычный параметр или внутри шаблона, например «Отчёт за период с [НачалоПериода] по [КонецПериода]».

Почему в области итогов пусто, хотя ресурс есть в запросе?

Поле должно быть не только в запросе, но и добавлено на закладку «Ресурсы» схемы компоновки с указанием выражения агрегирования (обычно Сумма). Также проверьте, что область привязана именно к итогу группировки, а не к детальным записям.

Можно ли в макете СКД вывести картинку, например логотип?

Да, картинку можно вставить в ячейку макета как статический элемент оформления — она выведется в каждой области, где размещена. Динамическая подстановка разных картинок из данных в макете СКД ограничена; для таких задач обычно используют программный вывод.

Итог

Что важно запомнить

Макет СКД создаётся на закладке «Макеты»: рисуется статическая часть, задаются именованные области и параметры типа «Поле», имена которых совпадают с полями набора данных. Макет начинает работать только после привязки областей к группировкам в настройках. Пустые ячейки — почти всегда признак несовпадения имён параметров и полей.