Smart1Spec Документация
Studio
РуководствоАналитикИзучающий Spec1CРазработчик 1С

Прочитать готовую спецификацию

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

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

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

Спецификация на этапе Spec1C — это текст, по которому Studio строит модель отчёта и, если в нём есть источники данных, генерирует код запроса в модуль формы собранного файла. Эта страница помогает прочитать чужую или автоматически построенную спецификацию и понять, что из написанного действительно на что-то влияет.

Когда это нужно#

  • Вы открыли проект и хотите понять, что описано в спецификации, прежде чем её менять.
  • Коллега передал вам текст спецификации, и нужно оценить, что получится после сборки.
  • В редакторе оказался текст, который вы не писали: Studio построила его из модели.

Перед началом#

  • Откройте проект и файл, затем этап Spec1C на панели этапов.
  • Учтите: если вы загрузили существующий файл .epf или .erf, спецификация не восстанавливается из него. В редакторе будет рабочий шаблон или текст, построенный из модели, а не описание вашего файла.
  • Пока вы ничего не меняете в тексте, чтение ничего не меняет в проекте.

Шаги#

  1. Найдите строку report …. Сразу под ней — title: (заголовок) и target: (вид генерируемого кода).
  2. Найдите блок params { … }, если он есть. Учитываются только несколько известных имён — см. таблицу ниже.
  3. Прочитайте блок data { … }: каждая строка вида имя = Вид.Имя — источник данных, строка fields: под ней — его поля.
  4. Найдите в блоке data строки |> …_join (соединение) и where … between или filter period on … (отбор по периоду).
  5. Найдите вне блока data строки layout: maket "…", format: xlsx, команды show, include list, balance, turnovers.
  6. Сверьте каждую найденную строку с таблицей «Что значит каждая строка» и отметьте, что попадёт в код, а что нет.
  7. Если нужно убедиться, что Studio поняла текст так же, нажмите «Ещё» → «Применить без сборки». В уведомлении «Spec1C → модель · источников N» число источников должно совпасть с числом строк имя = Вид.Имя. Помните: этот шаг обновляет модель проекта по тексту — см. Применить спецификацию без сборки.
Редактор Spec1C со спецификацией, в которой два источника данных и соединение
Этап Spec1C: спецификация с соединением

Пример для чтения#

Spec1C
spec1c {
  report contracts
    title:  "Договоры за период"
    target: ordinary

  params {
    ТолькоДействующиеНаКонец : bool = true
  }

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

    amendments = РегистрСведений.ДокументыИзменяющиеУсловияДоговора
      fields: Договор, Период

    rows = contracts
      |> left_join amendments on amendments.Договор == contracts.Ссылка

    where ДатаДоговора between ПериодT
  }

  view {
    print Отчет
      layout: maket "м_Отчет"
    export Excel
      format: xlsx
  }
}

Что значит каждая строка#

СтрокаСмыслЧто изменится после применения и сборки
spec1c { … }необязательная обёртканичего
report contractsидентификатор отчётасохраняется в модели; в код не попадает
title: "…"заголовоксохраняется в модели; в сгенерированном коде виден только как комментарий «Отчёт: …». Имя файла не меняется
target: ordinaryвид генерируемого кодаordinary — запрос и сообщение с числом строк; managed — код управляемой формы с макетом. Подробнее — Соответствие конструкций и BSL
params { … }параметрыв модель попадают только известные имена (ТолькоДействующиеНаКонец…, ВыводитьВсеДоп…, ВыгружатьXLSX, КаталогВыгрузки); остальные теряются. На сгенерированный код в облачной сборке не влияют
contracts = Справочник.…источник данныхтаблица в запросе (ИЗ). Имя источника — только латиницей
fields: …поля источникасписок полей запроса (ВЫБРАТЬ). Относится к источнику, объявленному выше
rows = …строка с выражением строксохраняется, но ни на что не влияет
|> left_join … on … == …соединениев запросе всегда ЛЕВОЕ СОЕДИНЕНИЕ, даже для inner_join и right_join
where ДатаДоговора between ПериодTотбор по периодузапоминается только имя поля; в запросе — ГДЕ … МЕЖДУ &ДатаНачПериода И &ДатаКонПериода. Реквизитов периода в новом файле нет
view { … }, print, exportдекоративный контейнерсами слова ни на что не влияют
layout: maket "м_Отчет"имя макетав коде только при target: managed; самого макета в новом файле нет
format: xlsxвыгрузка в Excelсохраняется в модели, но кода выгрузки не генерируется
show attributes …просмотр объекта в инспекторев код не попадает; без конфигурации инспектор показывает ошибку
include list …список на формесохраняется в модели; в собранный файл список не выводится
balance …, turnovers …остатки и обороты регистрав облачной среде сборка с ними останавливается

Если в тексте встречаются compute { … }, screen { … }, form { … }, select … into, output … mapping, template: — разбор их не учитывает, даже если редактор подсвечивает эти слова. Список — Неподдерживаемые конструкции.

Результат#

  • Вы знаете, какие строки спецификации попадут в модель и в сгенерированный запрос, а какие сохраняются только как текст.
  • Вы понимаете, что успешная сборка по этой спецификации даст черновик запроса в модуле формы, который нужно проверить и доработать в 1С: Studio не проверяет, что объекты и поля есть в вашей конфигурации.

Полная таблица «конструкция → код» — Соответствие конструкций и BSL, матрица поддержки — Матрица поддержки конструкций.

Если не получилось#

Что видноЧто это значит
Текст спецификации не похож на загруженный файлТак и должно быть: спецификация из файла не восстанавливается. Для правок существующего файла см. Выбрать: Spec1C или правка BSL.
В тексте есть блоки compute, screen, view с table и actions, которых вы не писалиStudio построила текст из модели автоматически. Эти блоки разбор не учитывает — на результат влияют только строки из таблицы выше.
После «Применить без сборки» источников меньше, чем строк имя = …Имя источника написано кириллицей или строка содержит лишний текст. Имена источников — только латиницей, см. data.
Уведомление «Spec1C: не найден report и источники data»В тексте нет ни report, ни распознанных источников — см. Сообщения об ошибках и предупреждения.

См. также

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

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

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