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

Урок 3. Параметры

Блок params в Spec1C — какие имена параметров Studio распознаёт, какие теряются при разборе и почему в облачной сборке параметры не меняют код.

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

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

Блок params { } описывает флаги спецификации. Это самый «обманчивый» блок языка: почти любой текст в нём принимается без ошибок, но в модель попадают только несколько имён, а в облачной сборке код от параметров не меняется.

Цель урока#

После урока вы сможете:

  • записать параметр так, чтобы он попал в модель;
  • отличить параметр, который потерялся при разборе, от принятого;
  • не ждать от параметров кода, которого Studio не генерирует.

Что нужно знать#

Объяснение#

Каждый параметр — отдельная строка вида Имя : тип = значение:

Spec1C
params {
  <Имя> : bool = true
  КаталогВыгрузки : Path = "<путь>"
}

Studio распознаёт только такие имена:

Имя в текстеТипЧто попадает в модель
Содержит ТолькоДействующ (например, ТолькоДействующиеНаКонец)boolфлаг «только действующие»
Содержит ВыводитьВсеДоп (например, ВыводитьВсеДопСоглашения)boolфлаг «все дополнительные соглашения»
ВыгружатьXLSXboolфлаг выгрузки в Excel
КаталогВыгрузкиPathстрока с путём

Значение bool — только true или false. Строка Path — в двойных кавычках.

Все остальные строки блока принимаются без ошибки и теряются: параметр с другим именем, другой тип (Date, string, Period), значение да/нет. Ни ошибки, ни предупреждения не будет.

Что параметры дают в коде#

При облачной сборке ни один параметр не меняет сгенерированный код:

  • флаги «только действующие» и «все дополнительные соглашения» в генерацию кода не передаются;
  • КаталогВыгрузки остаётся только в модели;
  • флаг ВыгружатьXLSX при облачной сборке не используется — кода выгрузки в Excel нет (см. также Урок 5. Вывод: макет и Excel).

Параметры полезны как часть описания задачи: их видно в тексте, и они сохраняются в модели проекта. Нужное поведение (отбор, выгрузку) дописывают в модуле.

Полный пример#

Spec1C
spec1c {
  report items
    title:  "Номенклатура с флагами"
    target: ordinary

  params {
    ТолькоДействующиеНаКонец  : bool = true
    ВыгружатьXLSX             : bool = false
    КаталогВыгрузки           : Path = ""
    ПоказыватьАрхив           : bool = true
  }

  data {
    items = Справочник.Номенклатура
      fields: Ссылка, Код, Наименование
  }
}

Справочник.Номенклатура — пример из типовой конфигурации; используйте объект, который есть в вашей конфигурации. Studio в облаке имена не проверяет.

Разбор примера#

СтрокаПринята разборомВ моделиВлияет на код облачной сборки
ТолькоДействующиеНаКонец : bool = trueдаданет
ВыгружатьXLSX : bool = falseдаданет
КаталогВыгрузки : Path = ""дада, пустая строканет
ПоказыватьАрхив : bool = trueданет — имя не распознанонет

Ожидаемый результат#

После «Ещё» → «Применить без сборки» — уведомление «Spec1C → модель · источников 1». Отдельной строки про параметры в уведомлении нет, и на экране Studio значения параметров не показываются.

УровеньЧто получится
РазборОшибок нет; все четыре строки приняты
МодельТри распознанных параметра; ПоказыватьАрхив потерян
ПроверкаПараметры не проверяются
Код BSLТакой же, как без блока params: запрос по источнику и подсчёт строк
Работа в 1СНе проверялась

Типичные ошибки#

Что сделалиЧто произошлоКак правильно
ТолькоДействующие : bool = даСтрока принята, значение потеряноtrue или false
ПериодОтчета : PeriodСтрока принята, параметр в модели не появилсяПериод задают полем в блоке data — Урок 4. Соединения и период
ВыгружатьXLSX : bool = true и ждёте файл ExcelФлаг в модели, но кода выгрузки нетВыгрузку пишут в модуле вручную
Написали params внутри data { }Блок data обрывается на закрывающей скобке params: источники, объявленные после неё, теряютсяparams — на верхнем уровне
Путь КаталогВыгрузки без кавычекСтрока принята, путь не сохранёнПуть в двойных кавычках

Полный список имён и правил — params, типы значений — Типы и значения.

Упражнение#

  1. Примените полный пример. Убедитесь, что ошибок нет.
  2. Замените true у ПоказыватьАрхив на да и снова примените. Ошибки тоже не будет — разбор не сообщает о потерянных параметрах. Это и есть главный риск блока params.
  3. Соберите файл и сравните модуль формы со сборкой из Быстрый старт — там тот же источник и те же поля. Процедура Сформировать совпадёт: код не зависит от параметров.

Следующий урок#

Урок 4. Соединения и период — соединения источников и отбор по периоду.

См. также

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

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

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