Smart1Spec Документация
Studio
СправочникИзучающий Spec1C

layout и format

layout задаёт имя макета печати только для target managed, а format xlsx записывается в модель, но кода выгрузки в Excel не даёт.

Перед чтением

На этой странице

layout: maket "Имя" задаёт имя макета, по которому выводится результат, а format: xlsx отмечает, что результат нужен в Excel. Обе записи разбираются и попадают в модель, но в код облачной сборки попадает только имя макета — и только при target: managed.

Назначение#

Конструкции описывают вывод результата: каким макетом оформить табличный документ и нужна ли выгрузка в Excel. Их часто пишут внутри блока view { } (view), но работают они в любом месте спецификации.

Синтаксис#

Spec1C
layout: maket "<ИмяМакета>"
format: xlsx

Элементы#

ЭлементОбязателенПо умолчаниюЧто означает
layout: maket "…"нетМакет (при target: managed)имя макета обработки, непустая строка в двойных кавычках
format: xlsxнет—признак выгрузки в Excel; другие форматы не распознаются

Пример#

Spec1C
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_Договоры":

BSL
	ТабДок = Новый ТабличныйДокумент;
	ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
	Макет = ОбработкаОбъект.ПолучитьМакет("м_Раздел_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.

См. также

Сверено с продуктом: 27.10.2026

Нашли неточность? Напишите на [email protected] и укажите адрес страницы.

Smart1Spec · документация описывает текущую версию сервиса.