Smart1Spec Документация
Studio
РуководствоИзучающий Spec1CАналитик

Настроить вывод

Как указать в спецификации макет печати и выгрузку в Excel и что из этого реально попадает в собранный файл.

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

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

В спецификации вывод описывают двумя строками: layout: maket "Имя" — имя макета печати и format: xlsx — признак выгрузки в Excel. Их обычно помещают в блок view { … }. Эта страница объясняет, как их записать и что из них сейчас попадает в собранный файл: результат сильно зависит от target.

Когда это нужно#

  • Результат запроса нужно вывести в табличный документ по макету.
  • Нужно отметить в модели, что результат предполагается выгружать в Excel.
  • Вы настроили вывод на вкладке Intent → «Вывод» и хотите понять, как это выглядит в спецификации.

Перед началом#

  • В спецификации есть блок data { } хотя бы с одним источником — см. Добавить или удалить источник данных.
  • Решите, какой target нужен. Для нового файла из Studio форма всегда обычная, и надёжный вариант — target: ordinary. Но макет попадает в код только при target: managed — см. таблицу в разделе «Результат».
  • Тот же вывод можно настроить без текста — на вкладке Intent → «Вывод»: Настроить вывод результата.

Шаги#

  1. Добавьте после блока data блок view { … }. Слова внутри него (print, export, имена) ни на что не влияют, блок нужен для читаемости — view.
  2. Внутри добавьте строку layout: maket "ИмяМакета", если нужен вывод по макету. Имя пишется в кавычках.
  3. Добавьте строку format: xlsx, если хотите отметить выгрузку в Excel.
  4. При необходимости поменяйте target в заголовке отчёта — report.
  5. Нажмите «Ещё» → «Применить без сборки». Вкладка Intent → «Вывод» обновится по тексту.
  6. Соберите файл — «Собрать .epf» — и скачайте его.
Spec1C
spec1c {
  report contracts
    title:  "Печать договоров"
    target: managed

  data {
    contracts = Справочник.КлиентскиеДоговора
      fields: Ссылка, Код, ДатаДоговора
  }

  view {
    print Печать
      layout: maket "м_Отчет"
    export ВExcel
      format: xlsx
  }
}

Результат#

Строкаtarget: ordinarytarget: managed
layout: maket "…"В код не попадаетКод получает макет по имени и выводит области «Шапка» и «Строка» в табличный документ
без layout—Используется имя макета «Макет»
format: xlsxКода выгрузки нетКода выгрузки нет
Вывод результатаСообщение с числом строкТабличный документ формируется, но на форму не выводится

Фрагмент кода для target: managed из живой сборки (служебные комментарии убраны):

BSL
	ТабДок = Новый ТабличныйДокумент;
	ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
	Макет = ОбработкаОбъект.ПолучитьМакет("м_Отчет");
	ОбластьШапкаМакет = Макет.ПолучитьОбласть("Шапка");
	ОбластьСтрокаМакет = Макет.ПолучитьОбласть("Строка");
	ТабДок.Вывести(ОбластьШапкаМакет);

Если не получилось#

Что видноПричина и что сделать
В собранном файле нет обращения к макетуПри target: ordinary макет в код не попадает. Это ожидаемо — layout и format
Удалили layout или format, а на вкладке «Вывод» остались прежние значенияУдаление строки не сбрасывает значение в модели. Чтобы сменить макет, укажите другое имя. Оставшийся признак Excel на сгенерированный код не влияет
Указали layout вне блока viewЭто допустимо: строки вывода ищутся по всему тексту
Нужен вывод по своему шаблону ExcelСценарий с шаблоном Excel в облачной сборке не подтверждён; ограничения — Ограничения реализации

См. также

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

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

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