Профили генерации
Какие правила генерации кода применяет облачная сборка, как на них влияют target и section и почему специальный профиль печатной формы недоступен.
Перед чтением
- Генерация BSL и зоны генерации Понятие
На этой странице
Профиль генерации — набор правил, по которым Studio превращает модель спецификации в код: какие процедуры создать, какие имена реквизитов и областей макета использовать, выводить ли табличный документ. В облачной среде пользователь профиль не выбирает: он определяется автоматически, а единственный рычаг — target.
Коротко#
- Облачная сборка всегда использует профиль облачной сборки — правила для нового внешнего файла с формой «Форма» и пустой зоной генерации.
- Внутри этого профиля
targetвыбирает один из двух вариантов кода: для обычной формы (ordinary) или для управляемой (managed). sectionна облачную сборку не влияет.- Специальный профиль печатной формы — с заранее подготовленным макетом, реквизитами формы и выгрузкой в Excel — для новых файлов в облачной среде недоступен.
Профиль облачной сборки#
Studio применяет его к любому файлу проекта, если в модели есть источники данных: и к созданному кнопкой «Создать с нуля», и к загруженному. Правила профиля:
- код пишется в модуль формы «Форма», между маркерами
// >>> SPEC1C_EMIT_BLANK_BEGINи// <<< SPEC1C_EMIT_BLANK_END(см. Генерация BSL и зоны генерации); - период берётся из реквизитов
ДатаНачПериодаиДатаКонПериода; - выгрузка в Excel не генерируется, даже если в спецификации есть
format: xlsxили параметрВыгружатьXLSX : bool = true; - параметры из блока
paramsна код не влияют.
Вариант ordinary#
Выбирается при target: ordinary.
- Процедура
Сформировать(Кнопка)без директив компиляции. - Запрос по источникам, соединениям и полю периода.
- Цикл подсчёта строк и сообщение с их числом.
- Макет, табличный документ и вывод на экран не создаются;
layoutв код не попадает.
Это надёжный вариант для нового файла: запрос выполняется, а вывод результата вы дописываете сами в Конфигураторе.
Вариант managed#
Выбирается при target: managed.
- Клиентская процедура
Сформировать(Команда)и сервернаяСформироватьНаСервере(). - Получение макета через
РеквизитФормыВЗначение("Объект")иПолучитьМакет(...); имя макета — изlayout: maket "…", иначе «Макет». - Области макета «Шапка» и «Строка», заполнение
ТабличныйДокумент.
Ограничения для нового файла: форма нового файла обычная, а не управляемая; директива &НаКлиенте выведена дважды подряд; макета в файле нет; табличный документ на форму не выводится. Ожидаемо такой модуль в 1С не скомпилируется (в 1С не проверялось).
Сравнение#
target: ordinary | target: managed | |
|---|---|---|
| Процедуры | Сформировать(Кнопка) | Сформировать(Команда) + СформироватьНаСервере() |
| Запрос | да | да |
| Условие периода | да, если задано поле периода | да, если задано поле периода |
Макет layout | не используется | ПолучитьМакет, области «Шапка», «Строка» |
| Результат | сообщение с числом строк | табличный документ, на форму не выводится |
| Выгрузка в Excel | нет | нет |
| Готовность для нового файла | черновик, запрос выполним | требует доработки в Конфигураторе |
Если target не указан#
Используется вид формы, который уже записан в модели:
- для файла, созданного кнопкой «Создать с нуля», —
ordinary; - для загруженного файла — вид его форм (обычные или управляемые).
Применённое значение target сохраняется в модели. Если удалить строку target из текста, модель может остаться с прежним значением: применение не сбрасывает то, чего нет в тексте. Чтобы сменить вариант, напишите другое значение явно.
section и специальный профиль печатной формы#
section: N разбирается и сохраняется в модели, но в облачной сборке ни на что не влияет. В Studio есть и специальный профиль печатной формы, рассчитанный на конкретный отчёт с готовым макетом, реквизитами периода и полем табличного документа на форме. Облачная сборка его не использует, поэтому сочетание target: ordinary и section: 1 даёт тот же код, что и target: ordinary без section.
Что из этого следует#
- Для нового файла пишите
target: ordinaryи рассчитывайте на черновик запроса, а не на готовый отчёт. target: managedвыбирайте, только если вы готовы исправить модуль в Конфигураторе: убрать повторную директиву, добавить макет и вывод табличного документа на форму.- Не используйте
section,format: xlsxи параметры для управления кодом — в облачной сборке они на него не влияют. - Подробности по конструкциям:
targetиsection— report,layoutиformat— layout и format, полная таблица «конструкция → код» — Соответствие конструкций и BSL, ограничения — Ограничения реализации.
См. также
- report Справочник
- Ограничения реализации Справочник
- Соответствие конструкций и BSL Справочник
- layout и format Справочник
Сверено с продуктом: 27.10.2026