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

Профили генерации

Какие правила генерации кода применяет облачная сборка, как на них влияют target и section и почему специальный профиль печатной формы недоступен.

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

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

Профиль генерации — набор правил, по которым 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: ordinarytarget: 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, ограничения — Ограничения реализации.

См. также

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

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

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