layout и format
layout задаёт имя макета печати только для target managed, а format xlsx записывается в модель, но кода выгрузки в Excel не даёт.
Перед чтением
- report Справочник
На этой странице
layout: maket "Имя" задаёт имя макета, по которому выводится результат, а format: xlsx отмечает, что результат нужен в Excel. Обе записи разбираются и попадают в модель, но в код облачной сборки попадает только имя макета — и только при target: managed.
Назначение#
Конструкции описывают вывод результата: каким макетом оформить табличный документ и нужна ли выгрузка в Excel. Их часто пишут внутри блока view { } (view), но работают они в любом месте спецификации.
Синтаксис#
layout: maket "<ИмяМакета>"
format: xlsxЭлементы#
| Элемент | Обязателен | По умолчанию | Что означает |
|---|---|---|---|
layout: maket "…" | нет | Макет (при target: managed) | имя макета обработки, непустая строка в двойных кавычках |
format: xlsx | нет | — | признак выгрузки в Excel; другие форматы не распознаются |
Пример#
spec1c {
report contracts
title: "Печать договоров"
target: managed
data {
contracts = Справочник.КлиентскиеДоговора
fields: Ссылка, Код
}
layout: maket "м_Отчет"
format: xlsx
}Что принимает разбор#
- Имя макета — только в двойных кавычках и только после слова
maket.layout: maket м_Отчет,layout: "м_Отчет"иlayout: maket ""пропускаются без сообщения. - Из нескольких
layoutдействует первый. format:распознаётся только со значениемxlsx;format: csvпропускается без сообщения.- Обе записи ищутся по всему тексту: внутри
view { }, внутриdata { }или на верхнем уровне — результат одинаковый.
Что попадает в модель#
Имя макета и признак Excel. Если удалить строку layout или format, в модели остаётся прежнее значение.
Что проверяется#
Ничего: Studio не проверяет, что макет с таким именем есть в файле. В новом файле, созданном через «Создать с нуля», макетов нет (проверено распаковкой).
Что генерируется в BSL#
target: managed — имя макета подставляется в получение макета; области называются «Шапка» и «Строка». Фрагмент живой сборки с layout: maket "м_Раздел_1_Договоры":
ТабДок = Новый ТабличныйДокумент;
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
Макет = ОбработкаОбъект.ПолучитьМакет("м_Раздел_1_Договоры");
ОбластьШапкаМакет = Макет.ПолучитьОбласть("Шапка");
ОбластьСтрокаМакет = Макет.ПолучитьОбласть("Строка");
ТабДок.Вывести(ОбластьШапкаМакет);Без layout подставляется имя Макет (живая сборка). Табличный документ на форму не выводится: в коде остаётся комментарий «ТабДок готов; вывод на поле формы — отдельная подвязка».
target: ordinary — layout в код не попадает: генерируется только запрос и сообщение с числом строк (report). Это следует из исходного кода генератора; сборкой ordinary с layout не проверялось.
format: xlsx — кода сохранения в Excel не генерируется ни при каком target (живая сборка со format: xlsx). Облачная сборка отключает выгрузку в Excel и для параметра ВыгружатьXLSX (params).
Работа в 1С#
В 1С код не запускался. При target: managed в новом файле ожидаема ошибка при формировании: макета с указанным именем (или с именем Макет) в файле нет, и областей «Шапка»/«Строка» тоже. Кроме того, код управляемой формы для обычной формы нового файла, скорее всего, не скомпилируется (report).
Чтобы получить вывод по макету, после скачивания файла добавьте в Конфигураторе макет с нужным именем и областями «Шапка» и «Строка» (с параметрами по именам полей) и выведите табличный документ на форму. Выгрузку в Excel тоже нужно написать вручную.
Ограничения#
layoutработает только приtarget: managed.- Макет в новый файл не добавляется.
- Табличный документ на форму не выводится.
format: xlsxне даёт кода выгрузки.- Неверная запись
layoutилиformatпропускается без сообщения.
Полный список — Ограничения реализации.
Связанные конструкции#
- view — блок
view, где обычно пишут эти строки. - report —
target, от которого зависит код. - params — параметр
ВыгружатьXLSX.
См. также
- report Справочник
- view Справочник
- params Справочник
- Соответствие конструкций и BSL Справочник
- Ограничения реализации Справочник
Сверено с продуктом: 27.10.2026