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

Матрица поддержки конструкций

Таблица по каждой конструкции Spec1C — принимает ли её разбор, попадает ли она в модель, проверяется ли, генерируется ли код и проверялась ли работа в 1С.

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

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

Принятие текста без ошибки ещё не означает, что конструкция что-то делает. Эта таблица разделяет пять уровней для каждой конструкции языка Spec1C.

Назначение#

Матрица помогает быстро понять, на что можно рассчитывать: увидит ли Studio конструкцию, запомнит ли её значение, проверит ли, сгенерирует ли код и известно ли, как этот код ведёт себя в 1С. Подробности по каждой конструкции — на её странице в справочнике; соответствие конструкций и фрагментов кода — Соответствие конструкций и BSL.

Уровни#

УровеньЧто означает
Разбортекст принят без ошибки и распознан как эта конструкция
Модельзначение сохраняется в модели отчёта после «Применить без сборки» (видно на вкладках Intent или в уведомлении)
ПроверкаStudio проверяет правильность значения: «Проверить модель Spec1C», проверка перед сборкой
BSLв модуле формы собранного файла появляется код
1Сработа сгенерированного кода проверена в 1С

Значения: «да» — работает; «частично» — с оговоркой (см. сноску); «нет» — не делается; «не проверялось» — код есть, но в 1С не запускался; «—» — уровень к конструкции не относится (код не генерируется, проверять в 1С нечего). Все сведения — для облачной среды Smart1Spec Studio, где конфигурацию загрузить нельзя.

Матрица#

КонструкцияРазборМодельПроверкаBSL1С
spec1c { … } — кореньда—нет——
комментарий //частично ¹—нет——
report <имя>даданетнет—
title: "…"даданетчастично ²—
target: ordinaryдаданетдане проверялось
target: managedдаданетчастично ³не проверялось
section: Nдаданетнет ⁴—
params: известные имена : boolдаданетнет—
params: прочие имена и типычастично ⁵нетнетнет—
КаталогВыгрузки : Path = "…"даданетнет—
data { }, id = Вид.Имячастично ⁶данет ⁷дане проверялось
fields: A, Bдадачастично ⁸дане проверялось
rows = …даданетнет—
|> left_join … on … == …даданетдане проверялось
|> inner_join, |> right_joinдаданетчастично ⁹не проверялось
where Поле between …частично ¹⁰данетдане проверялось ¹¹
filter period on Поледаданетдане проверялось ¹¹
layout: maket "Имя"даданетчастично ¹²не проверялось
format: xlsxдаданетнет—
view { … }частично ¹³нетнетнет—
show attributes, show structureдадачастично ¹⁴нет—
include list … in form … as …даданетнет ¹⁵—
balance … at … by … into …дадада ¹⁶нет ¹⁶—
turnovers … for … by … into …дадада ¹⁶нет ¹⁶—
неподдерживаемые конструкциинет ¹⁷нетнетнет—

Сноски#

  1. Всё после // до конца строки отбрасывается — в том числе внутри строки в кавычках: title: "см. https://…" теряет заголовок.
  2. Заголовок попадает только в служебный комментарий в начале зоны генерации.
  3. Генерируется код управляемой формы (&НаКлиенте / &НаСервере, макет, табличный документ), но новый файл из Studio имеет обычную форму, директива &НаКлиенте выводится дважды, табличный документ на форму не выводится. Ожидаемо не компилируется в 1С.
  4. В облачной сборке section на код не влияет (проверено контрольной сборкой с section: 1).
  5. Строка вида Имя : bool = true с неизвестным именем и строки с типами Period, Date и другими принимаются без ошибки, но в модель не попадают.
  6. Имя источника (слева от =) — только латиница, цифры и _. Источник с кириллическим именем молча пропускается. У источников вида РегистрБухгалтерии, Перечисление, Обработка, Отчет строка fields присваивается предыдущему источнику.
  7. Имена объектов и полей конфигурации не проверяются. «Проверить модель Spec1C» при наличии источников всегда даёт замечание «Конфигурация не загружена…»; оно не мешает сборке.
  8. Проверяется только то, что у первого источника есть поля: замечание «У первого источника нет полей».
  9. Вид соединения сохраняется в модели, но в коде всегда ЛЕВОЕ СОЕДИНЕНИЕ.
  10. Запоминается только имя поля; остальная часть условия после between игнорируется.
  11. Реквизитов ДатаНачПериода и ДатаКонПериода, на которые ссылается код, в новом файле нет — в 1С ожидаема ошибка.
  12. Только при target: managed (ПолучитьМакет("Имя")); при ordinary — ничего. Самого макета в новом файле нет.
  13. Тело контейнера не разбирается; внутри находятся только layout и format. Слова print, export ни на что не влияют.
  14. Для просмотра в инспекторе нужна загруженная конфигурация; в облачной среде инспектор показывает ошибку.
  15. Список на форму собранного файла не выводится (по коду).
  16. Перед сборкой проверяются измерения в by; проверка требует конфигурацию, поэтому в облачной среде всегда даёт ошибку и сборка останавливается: «Сборка остановлена: 3.5: нет пути conf — нельзя проверить by по Index». Остатки и обороты в облачной среде собрать нельзя.
  17. compute, form { }, select … into, output … mapping, refs, find, calls, template: — разбор их пропускает без сообщения. Список — Неподдерживаемые конструкции.

Как пользоваться матрицей#

  • Если в колонке «Модель» стоит «да», значение можно увидеть после «Применить без сборки»: в уведомлении «Spec1C → модель · источников N» или на вкладках Intent. Если «нет» — конструкция ни на что не повлияет, даже если текст принят.
  • Если в колонке «BSL» стоит «нет», искать результат в собранном файле бесполезно: конструкция служит описанием или используется только интерфейсом Studio.
  • Колонка «1С» везде «не проверялось» или «—»: успешная сборка не означает, что файл работает в 1С. Проверьте его в Конфигураторе по шагам Проверить результат в 1С.

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

  • Матрица описывает облачную среду. Проверки, зависящие от конфигурации (измерения регистров, просмотр метаданных в инспекторе), в ней недоступны.
  • Удаление конструкции из текста не всегда убирает её из модели: при «Применить без сборки» пустой список источников, соединений или запросов не заменяет прежний.
  • Ни одна сгенерированная конструкция не проверялась в 1С.

Полный перечень ограничений — Ограничения реализации, сообщения — Сообщения об ошибках и предупреждения.

См. также

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

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

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