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

spec1c (корень)

Корневая обёртка spec1c { … } — необязательна; что происходит с пустой обёрткой и текстом вокруг неё.

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

Корневая обёртка spec1c { … } обозначает начало и конец спецификации. Она необязательна: та же спецификация без обёртки разбирается так же.

Назначение#

Обёртка делает текст узнаваемым: в нём сразу видно, что это спецификация Spec1C, а не модуль BSL. Новый файл, созданный в Studio через «Создать с нуля», открывается на этапе Spec1C с шаблоном из пустой обёртки — в неё и записывают остальные конструкции: report, params, data и команды верхнего уровня.

Синтаксис#

Spec1C
spec1c {
  <конструкции>
}

Комментарий начинается с // и продолжается до конца строки. Комментарии снимаются до разбора и могут стоять в любом месте, в том числе до обёртки.

Элементы#

ЭлементОбязателенПо умолчаниюЧто означает
spec1cнет—ключевое слово корня; регистр букв не важен (SPEC1C тоже принимается)
{ … }нет—границы спецификации; внутри — остальные конструкции в любом порядке
// комментарийнет—текст до конца строки, разбором не учитывается

Пример#

Минимальная полная спецификация: обёртка, заголовок отчёта и один источник данных.

Spec1C
// Список договоров
spec1c {
  report contracts
    title:  "Договоры"
    target: ordinary

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

Тот же текст без обёртки даёт такую же модель:

Spec1C
report contracts
  title:  "Договоры"
  target: ordinary

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

Пустая обёртка — ошибка разбора:

Spec1C
spec1c {
}

Что принимает разбор#

  • Обёртку снимают, только если весь текст (без комментариев) начинается с spec1c { и заканчивается }.
  • Если обёртки нет, перед ней есть другой текст или закрывающая скобка забыта, ошибки не будет: остальные конструкции всё равно ищутся по всему тексту. Например, spec1c { без закрывающей } разбирается без сообщений.
  • После снятия комментариев и обёртки текст не должен быть пустым — иначе ошибка «пустой Spec1C».
  • В тексте должен быть хотя бы report <имя> или одна из команд: источник в data { }, show, include list, balance, turnovers. Иначе ошибка «не найден report и источники data» — даже если есть title: или view { }.
  • Если нет блока data { }, разбор выдаёт предупреждение «нет блока data { }» (это не ошибка).

Что попадает в модель#

Сама обёртка в модель ничего не записывает. В модель попадает то, что найдено внутри: заголовок отчёта, параметры, источники, команды. Если разбор вернул ошибку, модель не меняется.

Что проверяется#

Проверяется только то, что описано в разделе «Что принимает разбор»: непустой текст и наличие report или хотя бы одной команды. Парность фигурных скобок не проверяется.

При «Применить без сборки» пустая обёртка не доходит до разбора: Studio показывает уведомление «Spec1C пуст — заполните Intent / Данные или введите спецификацию». Если при сборке в редакторе остаётся ошибка разбора, сборка не начинается: «Сначала исправьте ошибки в Spec1C». Полный список сообщений — Сообщения об ошибках и предупреждения.

Что генерируется в BSL#

Обёртка код не порождает. Код в модуле формы появляется только от конструкций внутри неё — источников данных, соединений, отбора по периоду и вывода (см. Соответствие конструкций и BSL). Спецификация без источников данных генерацию кода не запускает.

Работа в 1С#

Файл спецификации в 1С не открывается и не выполняется: 1С работает только с собранным файлом .epf или .erf. Обёртка на поведение собранного файла не влияет.

Ограничения#

  • Парность фигурных скобок не проверяется; лишняя или забытая скобка может «обрезать» блок data { } или params { } без сообщения (подробнее — Структура файла и вложенность).
  • Блочные комментарии /* … */ распознаются только внутри строки fields: (fields).
  • // внутри кавычек обрезает строку.

Полный список ограничений — Ограничения реализации.

Связанные конструкции#

См. также

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

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

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