Матрица поддержки конструкций
Таблица по каждой конструкции Spec1C — принимает ли её разбор, попадает ли она в модель, проверяется ли, генерируется ли код и проверялась ли работа в 1С.
Перед чтением
- Обзор справочника и совместимость Справочник
Принятие текста без ошибки ещё не означает, что конструкция что-то делает. Эта таблица разделяет пять уровней для каждой конструкции языка Spec1C.
Назначение#
Матрица помогает быстро понять, на что можно рассчитывать: увидит ли Studio конструкцию, запомнит ли её значение, проверит ли, сгенерирует ли код и известно ли, как этот код ведёт себя в 1С. Подробности по каждой конструкции — на её странице в справочнике; соответствие конструкций и фрагментов кода — Соответствие конструкций и BSL.
Уровни#
| Уровень | Что означает |
|---|---|
| Разбор | текст принят без ошибки и распознан как эта конструкция |
| Модель | значение сохраняется в модели отчёта после «Применить без сборки» (видно на вкладках Intent или в уведомлении) |
| Проверка | Studio проверяет правильность значения: «Проверить модель Spec1C», проверка перед сборкой |
| BSL | в модуле формы собранного файла появляется код |
| 1С | работа сгенерированного кода проверена в 1С |
Значения: «да» — работает; «частично» — с оговоркой (см. сноску); «нет» — не делается; «не проверялось» — код есть, но в 1С не запускался; «—» — уровень к конструкции не относится (код не генерируется, проверять в 1С нечего). Все сведения — для облачной среды Smart1Spec Studio, где конфигурацию загрузить нельзя.
Матрица#
| Конструкция | Разбор | Модель | Проверка | BSL | 1С |
|---|---|---|---|---|---|
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 … | да | да | да ¹⁶ | нет ¹⁶ | — |
| неподдерживаемые конструкции | нет ¹⁷ | нет | нет | нет | — |
Сноски#
- Всё после
//до конца строки отбрасывается — в том числе внутри строки в кавычках:title: "см. https://…"теряет заголовок. - Заголовок попадает только в служебный комментарий в начале зоны генерации.
- Генерируется код управляемой формы (
&НаКлиенте/&НаСервере, макет, табличный документ), но новый файл из Studio имеет обычную форму, директива&НаКлиентевыводится дважды, табличный документ на форму не выводится. Ожидаемо не компилируется в 1С. - В облачной сборке
sectionна код не влияет (проверено контрольной сборкой сsection: 1). - Строка вида
Имя : bool = trueс неизвестным именем и строки с типамиPeriod,Dateи другими принимаются без ошибки, но в модель не попадают. - Имя источника (слева от
=) — только латиница, цифры и_. Источник с кириллическим именем молча пропускается. У источников видаРегистрБухгалтерии,Перечисление,Обработка,Отчетстрокаfieldsприсваивается предыдущему источнику. - Имена объектов и полей конфигурации не проверяются. «Проверить модель Spec1C» при наличии источников всегда даёт замечание «Конфигурация не загружена…»; оно не мешает сборке.
- Проверяется только то, что у первого источника есть поля: замечание «У первого источника нет полей».
- Вид соединения сохраняется в модели, но в коде всегда
ЛЕВОЕ СОЕДИНЕНИЕ. - Запоминается только имя поля; остальная часть условия после
betweenигнорируется. - Реквизитов
ДатаНачПериодаиДатаКонПериода, на которые ссылается код, в новом файле нет — в 1С ожидаема ошибка. - Только при
target: managed(ПолучитьМакет("Имя")); приordinary— ничего. Самого макета в новом файле нет. - Тело контейнера не разбирается; внутри находятся только
layoutиformat. Словаprint,exportни на что не влияют. - Для просмотра в инспекторе нужна загруженная конфигурация; в облачной среде инспектор показывает ошибку.
- Список на форму собранного файла не выводится (по коду).
- Перед сборкой проверяются измерения в
by; проверка требует конфигурацию, поэтому в облачной среде всегда даёт ошибку и сборка останавливается: «Сборка остановлена: 3.5: нет пути conf — нельзя проверить by по Index». Остатки и обороты в облачной среде собрать нельзя. compute,form { },select … into,output … mapping,refs,find,calls,template:— разбор их пропускает без сообщения. Список — Неподдерживаемые конструкции.
Как пользоваться матрицей#
- Если в колонке «Модель» стоит «да», значение можно увидеть после «Применить без сборки»: в уведомлении «Spec1C → модель · источников N» или на вкладках Intent. Если «нет» — конструкция ни на что не повлияет, даже если текст принят.
- Если в колонке «BSL» стоит «нет», искать результат в собранном файле бесполезно: конструкция служит описанием или используется только интерфейсом Studio.
- Колонка «1С» везде «не проверялось» или «—»: успешная сборка не означает, что файл работает в 1С. Проверьте его в Конфигураторе по шагам Проверить результат в 1С.
Ограничения#
- Матрица описывает облачную среду. Проверки, зависящие от конфигурации (измерения регистров, просмотр метаданных в инспекторе), в ней недоступны.
- Удаление конструкции из текста не всегда убирает её из модели: при «Применить без сборки» пустой список источников, соединений или запросов не заменяет прежний.
- Ни одна сгенерированная конструкция не проверялась в 1С.
Полный перечень ограничений — Ограничения реализации, сообщения — Сообщения об ошибках и предупреждения.
См. также
- Соответствие конструкций и BSL Справочник
- Неподдерживаемые конструкции Справочник
- Ограничения реализации Справочник
- Сообщения об ошибках и предупреждения Справочник
Сверено с продуктом: 27.10.2026