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