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

Как Studio обрабатывает спецификацию

Шесть шагов от текста Spec1C до готового файла .epf или .erf и что на каждом шаге может остановить применение или сборку.

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

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

Текст Spec1C не превращается в файл за один шаг. Studio разбирает его, переносит результат в модель, проверяет, генерирует код и только потом собирает файл. Понимание этих шагов помогает понять, почему сборка остановилась или почему изменение текста не дало эффекта.

Коротко#

  1. Текст — то, что вы пишете в редакторе Spec1C.
  2. Разбор — Studio находит в тексте знакомые конструкции.
  3. Модель — найденное переносится в модель отчёта проекта.
  4. Проверки — проверка команд регистров и, по запросу, проверка модели.
  5. Генерация кода — по модели пишется запрос в модуль формы собранного файла.
  6. Упаковка — сервис сборки собирает файл .epf или .erf.

Шаги 2–4 выполняет «Применить без сборки». Кнопка «Собрать» выполняет все шаги. Ошибка на раннем шаге останавливает всё, что идёт после.

Шаг 1. Текст#

Текст набирается в редакторе этапа Spec1C. Пока он не применён, это просто черновик: в строке состояния редактора видна отметка «изменено», а модель проекта не меняется. Текст сохраняется в проекте и восстанавливается при повторном открытии; при открытии сохранённая спецификация снова применяется к модели.

Текст может построить и сама Studio — из модели, когда вы работаете на вкладках Intent «Данные» и «Вывод». Как это связано с вашими правками, описано в Связь Intent и Spec1C.

Шаг 2. Разбор#

Разбор ищет в тексте конструкции, описанные в справочнике: report, title, target, params, data, соединения, where, show, balance и другие. Результат — одно из трёх:

  • ошибка — текст пустой или в нём нет ни report, ни источников, ни команд; применение отменяется;
  • предупреждение — например, нет блока data { }; применение продолжается;
  • молчаливый пропуск — строка, которую разбор не узнал, просто не учитывается. Сообщения об этом нет.

Последний случай важен: опечатка в ключевом слове, кириллический идентификатор источника или неподдерживаемая конструкция не дают ошибки — они не дают ничего. Проверяйте результат по уведомлению «Spec1C → модель · источников N» и на вкладке Intent «Данные».

Шаг 3. Модель#

Если ошибок разбора нет, найденное накладывается на модель отчёта: источники, соединения, поле периода, имя макета и т. д. Накладывается только то, что есть в тексте. Если из текста удалить блок, соответствующая часть модели не очищается — она остаётся от прежней спецификации. Подробно — Модель спецификации.

Шаг 4. Проверки#

Проверок две, и они независимы.

Проверка команд регистров. Для balance и turnovers Studio проверяет, что перечисленные в by имена — измерения регистра. Для этого нужна загруженная конфигурация, а в облачной среде её нет. Поэтому при применении в журнале появляется «✗ 3.5 3.5: нет пути conf — нельзя проверить by по Index», а в уведомлении — «· 3.5 ошибок 1». Модель при этом обновляется, но сборка такой спецификации останавливается.

Проверка модели. Выполняется только по команде «Ещё» → «Проверить модель Spec1C». Она проверяет текущую модель, а не текст в редакторе: если вы изменили текст и не применили его, проверка этих изменений не увидит. Замечания проверки ничего не блокируют. В облачной среде при наличии источников всегда есть замечание о незагруженной конфигурации — оно не мешает сборке.

Шаг 5. Генерация кода#

Выполняется только при сборке и только если в модели есть хотя бы один источник данных. Перед генерацией Studio может спросить подтверждение: модель неполная относительно открытого файла, код будет записан в модуль формы. В живых прогонах окно появлялось и для нового файла. Если отказаться — «Сборка отменена — модель неполная».

Генерация идёт в копию исходников на стороне сервиса сборки: код появляется только в собранном файле, а исходники проекта на этапе Source не меняются. Как устроена зона генерации и какой код получается — Генерация BSL и зоны генерации.

Шаг 6. Упаковка#

Сервис сборки собирает файл из исходников (с кодом, сгенерированным на шаге 5, если он был). В журнале появляются строки об успешных шагах генерации и упаковки в облаке и «✓ Собрано: <имя>.epf — нажмите «Скачать»». Если спецификация пустая или без источников, упаковываются текущие исходники без генерации.

Что делает каждая команда#

КомандаРазбор и модельПроверка регистровПроверка моделиГенерацияУпаковка
«Применить без сборки»даданетнетнет
«Проверить модель Spec1C»нетнетданетнет
«Собрать .epf» / «Собрать .erf»да, если текст изменён после примененияда, если есть источникинетда, если есть источникида

Перед сборкой Studio сохраняет текст Intent и Spec1C в проекте.

Что останавливает процесс#

ШагСообщениеПрименениеСборка
Разбор: пустой текст«Spec1C пуст — заполните Intent / Данные или введите спецификацию»не выполняетсяне выполняется
Разбор: ошибка«Spec1C: <текст ошибки>», при сборке — «Сначала исправьте ошибки в Spec1C»не выполняетсяне выполняется
Разбор: предупреждение«· 1 предупр.» в уведомлениивыполняетсявыполняется
Проверка регистров«Сборка остановлена: 3.5: нет пути conf — нельзя проверить by по Index»выполняетсяостанавливается
Подтверждение генерации«Сборка отменена — модель неполная»—останавливается, если отказаться
Генерация или упаковка«Не удалось собрать файл в Smart1Spec Cloud.» и причина—останавливается
Проверка модели«Замечаний: N»не влияетне влияет

Все сообщения с причинами и действиями — Сообщения об ошибках и предупреждения.

Что из этого следует#

  • Применяйте спецификацию («Применить без сборки») после каждой заметной правки и смотрите число источников в уведомлении: это самый быстрый способ заметить молча пропущенную строку.
  • «Проверить модель Spec1C» запускайте после применения, а не вместо него.
  • Удаление блока из текста не удаляет его из модели. Чтобы избавиться от источника или поля периода, замените блок другим или начните с нового файла.
  • Спецификация с balance или turnovers в облачной среде не собирается.
  • Код из спецификации ищите в скачанном файле (в 1С), а не на этапе Source.
  • Пошагово: применение — Применить спецификацию без сборки, сборка — Собрать файл по спецификации, уровни сообщений — Уровни диагностики.

См. также

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

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

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