Макеты СКД в 1С — это способ вручную задать, как именно будет выглядеть та или иная часть отчёта: шапка, строка группировки, итог, ячейка поля. Они настраиваются на вкладке «Макеты» схемы компоновки и подключаются к группировкам по имени или по набору полей. Типичная задача, ради которой их открывают, — вывести в заголовок отчёта текст с параметрами («Продажи за январь 2026 по складу Центральный») или нарисовать шапку таблицы сложнее, чем умеет стандартный вывод.
Главное правило: макет — последнее средство. Он делает отчёт красивым, но ломается, как только пользователь меняет структуру варианта. Ниже — что можно сделать без макетов, какие макеты бывают, пошаговый пример заголовка с параметрами и два случая, когда даже макетов мало и приходится дописывать код.
Сначала попробуйте обойтись без макетов
Большинство «хочу, чтобы выглядело вот так» решается стандартными средствами настроек:
| Что нужно | Чем сделать без макета |
|---|---|
| Поменять состав и порядок колонок | Выбранные поля и группы полей в выборе |
| Объединить колонки под общим заголовком | Группа выбранных полей с заголовком |
| Выделить цветом строки или значения | Условное оформление |
| Убрать или переставить итоги | «Другие настройки»: расположение итогов, ресурсов, полей группировки |
| Вывести заголовок отчёта, отборы и параметры | «Другие настройки»: вывод заголовка, отбора, параметров данных |
| Сменить общий стиль | Макет оформления (стандартный или свой) |
Если после этого результат всё ещё не устраивает — переходим к макетам. На проектах я заранее предупреждаю заказчика, что отчёт с макетами будет иметь фиксированную структуру: менять группировки в нём можно только вместе с макетом.
Виды макетов СКД
На вкладке «Макеты» доступны несколько видов. На практике мне хватает такой шпаргалки:
| Вид макета | За что отвечает | Когда нужен |
|---|---|---|
| Макет группировки | Вывод строк (или колонок) конкретной группировки | Своя разметка строки, заголовок отчёта с параметрами, подвал с подписями |
| Макет заголовка группировки | Шапка таблицы над группировкой | Сложная многоуровневая шапка; скрытие лишней шапки вложенной группировки |
| Макет ресурсов | Ячейки на пересечении строк и колонок таблицы | Нестандартный вывод значений в кросс-таблице |
| Макет поля | Оформление отдельного поля | Редко: почти всё закрывает условное оформление; иногда — для особых параметров расшифровки |
У макетов группировок задаётся тип: «Заголовок» (выводится перед данными группировки, для строк это и есть сама строка) или «Подвал» (после), а также варианты для общих итогов и иерархии. Подвал выводится только если в настройках группировки разрешён вывод в конце.
Привязка к группировке выполняется двумя способами: по имени группировки (поле «Имя» в свойствах группировки на вкладке «Настройки») или по набору полей группировки. Привязка по имени надёжнее: она не зависит от того, по каким полям группирует пользователь.
Как макет связывается с данными
Область макета — это кусок табличного документа. Каждой ячейке задаётся вид заполнения:
- Текст — статичная надпись;
- Параметр — ячейка целиком заполняется значением параметра макета;
- Шаблон — текст с подстановками в квадратных скобках:
Остатки на [ДатаОстатков] по складу [Склад].
Параметры, упомянутые в области, появляются в таблице «Параметры» макета. Каждому задаётся выражение на языке выражений СКД. В выражении доступны поля группировки, ресурсы, параметры данных (&Период, &Склад), а через точку — реквизиты ссылочных полей: Контрагент.ИНН, Склад.Ответственный. Отдельно можно описать параметры расшифровки — тогда по ячейке будет работать расшифровка, как в обычном выводе.
Ячейкам области, как и в печатных формах, задаются шрифт, границы, выравнивание, высота строки и ширина колонок.
Пример: заголовок отчёта с параметрами
Задача: в начале отчёта вывести одну строку «Продажи за период с 01.01.2026 по 31.01.2026, склад: Центральный». Стандартный вывод параметров даёт список «Параметр — значение», а нужна связная фраза.

- На вкладке «Настройки» добавьте в корень структуры новую группировку без полей и поставьте её первой, выше основной.
- В её свойствах задайте имя, например
Шапка. Вариант использования группировки — «Дополнительная информация», макет оформления — «Без оформления», чтобы не тянуть стили и рамки. - Перейдите на вкладку «Макеты» и добавьте макет группировки. В поле «Имя группировки» выберите
Шапка, тип макета — «Заголовок». - Нарисуйте область: например, объедините несколько ячеек первой строки, задайте крупный полужирный шрифт.
- Ячейке задайте заполнение «Шаблон» и текст:
Продажи за период с [НачалоПериода] по [КонецПериода], склад: [Склад]. - В таблице параметров макета укажите выражения. Для дат удобно сразу форматировать:
Формат(&НачалоПериода, "ДФ=dd.MM.yyyy"), для склада —&Склад. Если склад не задан, используйте выражение с условием:ВЫБОР КОГДА &Склад ЕСТЬ NULL ТОГДА "все" ИНАЧЕ &Склад КОНЕЦ— синтаксис выражений СКД близок к языку запросов, но проверяйте результат на своих данных.
Группировка без полей выводится один раз, поэтому шапка появится строго в начале отчёта, независимо от количества данных.
Пример: убрать лишнюю шапку вложенной группировки
Частая ситуация: у отчёта две группировки, вы добавили для первой свою шапку макетом заголовка группировки, а вторая продолжает выводить собственную стандартную шапку внутри таблицы.
Решение без кода: добавьте для второй группировки макет заголовка группировки и не задавайте ему область. Пустой макет означает «ничего не выводить», и лишняя строка заголовка исчезнет.
Этот же приём работает для подвалов и итогов: пустой макет с нужным типом подавляет стандартный вывод.
Когда макета мало: постобработка в модуле отчёта
Есть задачи, которые макетами не решаются, — тогда переходим к программному выводу в ПриКомпоновкеРезультата.
Разрыв страницы после каждой группировки
Логичная попытка — положить разрыв страницы в область подвала группировки. Но разделитель страниц из области макета в результат может не попасть, поэтому полагаться на это не стоит. Надёжный способ — поэлементный вывод: в подвал группировки выводим ячейку с параметром-маркером, а при выводе заменяем этот элемент на разделитель страниц.
Маркер задаём так: в макете подвала группировки одна ячейка с заполнением «Параметр», параметр Разрыв с выражением "#РАЗРЫВ#".
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
КомпоновщикНастроек.ПолучитьНастройки(), ДанныеРасшифровки);
Процессор = Новый ПроцессорКомпоновкиДанных;
Процессор.Инициализировать(Макет, , ДанныеРасшифровки, Истина);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.НачатьВывод();
Элемент = Процессор.Следующий();
Пока Элемент <> Неопределено Цикл
Если ЭтоМаркерРазрыва(Элемент) Тогда
ДокументРезультат.ВывестиГоризонтальныйРазделительСтраниц();
Иначе
ПроцессорВывода.ВывестиЭлемент(Элемент);
КонецЕсли;
Элемент = Процессор.Следующий();
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
КонецПроцедуры
// Проверяет, содержит ли элемент результата служебный параметр-маркер разрыва страницы.
Функция ЭтоМаркерРазрыва(Элемент)
Для Каждого ЗначениеПараметра Из Элемент.ЗначенияПараметров Цикл
Если ЗначениеПараметра.Значение = "#РАЗРЫВ#" Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункцииСам подвал с маркером при этом не выводится — в табличном документе остаётся только разделитель. Не забудьте включить вывод подвала группировки в её настройках, иначе маркер не появится.
Две несвязанные таблицы рядом
СКД выводит элементы структуры одного уровня друг под другом. Если нужно поставить «Приход» и «Расход» рядом по горизонтали, проще сформировать их отдельно и склеить табличные документы: метод Присоединить добавляет область справа от последней выведенной.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ТаблицаПриход = СформироватьЭлементСтруктуры(0);
ТаблицаРасход = СформироватьЭлементСтруктуры(1);
ДокументРезультат.Вывести(ТаблицаПриход);
ДокументРезультат.Присоединить(ТаблицаРасход);
КонецПроцедуры
// Формирует табличный документ только по одному элементу структуры настроек.
Функция СформироватьЭлементСтруктуры(ИндексЭлемента)
Настройки = КомпоновщикНастроек.ПолучитьНастройки(); // возвращает копию
Для Индекс = 0 По Настройки.Структура.Количество() - 1 Цикл
Настройки.Структура[Индекс].Использование = (Индекс = ИндексЭлемента);
КонецЦикла;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
Процессор = Новый ПроцессорКомпоновкиДанных;
Процессор.Инициализировать(Макет, , , Истина);
Результат = Новый ТабличныйДокумент;
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.Вывести(Процессор);
Возврат Результат;
КонецФункцииЦена такого решения — отчёт формируется дважды и расшифровка в нём не работает без дополнительной доработки. Для отчётов, которые больше похожи на печатную форму, это обычно приемлемо. Если таких форм много, возможно, их стоит делать сразу как печатные формы 1С, а не как отчёты.
Типичные ошибки с макетами СКД
- Макет не применяется. Имя группировки в макете не совпадает с именем в настройках, или пользовательский вариант хранит старую структуру. Сбросьте пользовательские настройки и проверьте имя.
- Параметр в шаблоне выводится пустым. Параметр не описан в таблице параметров макета или выражение ссылается на поле, недоступное на этом уровне группировки.
- Шапка таблицы «съехала». Количество колонок в макете заголовка не совпадает с количеством колонок в макете строк.
- Отчёт сломался после правки пользователем. Макеты рассчитаны на фиксированную структуру. Закройте для пользователя изменение структуры варианта или вынесите нестандартный вид в отдельный вариант.
- Пропала расшифровка. В параметрах макета не заданы параметры расшифровки, а в программном выводе не передан
ДанныеРасшифровки.
Сначала настройки, потом макеты, и только потом код. Каждый следующий шаг делает отчёт красивее, но дороже в сопровождении.
Нестандартные отчёты и формы — регулярная часть работ по отчётам на СКД и доработке 1С: там же можно навести порядок в вариантах, которые сломались после обновлений.
Коротко
- Макеты СКД настраиваются на вкладке «Макеты» и привязываются к группировке по имени или по полям; по имени надёжнее.
- Заголовок с параметрами: группировка без полей с именем, макет группировки типа «Заголовок», ячейка-шаблон с параметрами
[Имя]. - Пустой макет заголовка группировки подавляет стандартную шапку вложенного уровня.
- Разрыв страниц и горизонтальное размещение таблиц делаются программно в
ПриКомпоновкеРезультата. - Макеты фиксируют структуру отчёта — предупреждайте пользователей и не злоупотребляйте ими.




