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

Добавить или удалить источник данных

Как добавить источник данных в блок data, как заменить его и почему удаление блока не очищает модель.

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

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

Источник данных — строка в блоке data { }, которая связывает латинское имя с объектом конфигурации: contracts = Справочник.КлиентскиеДоговора. По источникам Studio генерирует запрос в модуль формы собранного файла. Добавить источник просто; с удалением есть особенность — модель при этом не очищается.

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

  • В запрос нужно добавить ещё один справочник, документ или регистр.
  • Источник указан неверно, и его нужно заменить другим.
  • Источник больше не нужен в сгенерированном запросе.

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

  • Откройте этап Spec1C. Как устроен блок data — data.
  • Узнайте точное имя объекта в конфигурации (например, в Конфигураторе). Studio его не проверяет и не подсказывает: в облачной среде конфигурация не загружается.
  • Имя источника слева от = — только латиница, цифры и _, первым символом не цифра.

Шаги#

Добавить источник#

  1. Внутри блока data { … } добавьте строку имя = Вид.Объект. Допустимые виды: Справочник, Документ, РегистрСведений, РегистрНакопления, РегистрБухгалтерии, Перечисление, Обработка, Отчет.
  2. Сразу под ней добавьте строку fields: со списком полей через запятую.
  3. Если второй источник нужно связать с первым, добавьте соединение — Добавить соединение и отбор по периоду.
  4. Нажмите «Ещё» → «Применить без сборки». В уведомлении «Spec1C → модель · источников N» число источников должно увеличиться.
Spec1C
spec1c {
  report contracts
    title:  "Договоры и изменения"
    target: ordinary

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

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

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

Заменить источник#

  1. В строке источника замените объект справа от =, например Справочник.КлиентскиеДоговора на Справочник.Контрагенты.
  2. Исправьте строку fields: под ним — поля прежнего объекта у нового могут отсутствовать.
  3. Нажмите «Ещё» → «Применить без сборки».

При применении все источники модели заменяются источниками из текста, если в тексте есть хотя бы один источник. Поэтому замена работает надёжно.

Удалить источник#

  1. Удалите строку источника, его строку fields: и соединения, где он упоминается.
  2. Убедитесь, что в блоке data остался хотя бы один источник.
  3. Нажмите «Ещё» → «Применить без сборки» и проверьте число источников в уведомлении.
  4. Если вместе с источником вы удалили последнее соединение, откройте вкладку Intent → «Данные»: соединения из модели удаляются только заменой, поэтому прежняя связь может остаться (см. врезку ниже).

Результат#

  • В модели столько источников, сколько указано в тексте; это видно в уведомлении после применения и на вкладке Intent → «Данные».
  • После «Собрать .epf» в модуль формы собранного файла попадает запрос по этим источникам. Исходники на этапе Source при этом не меняются — сгенерированный код есть только в собранном файле, см. Генерация BSL и зоны генерации.
  • Существует ли объект в вашей конфигурации, проверит только 1С при выполнении запроса — Проверить результат в 1С.

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

Что видноПричина и что сделать
Число источников в уведомлении не изменилосьСтрока источника не распознана: кириллическое имя слева от =, неизвестный вид объекта или лишний текст в конце строки. Исправьте по data
Удалённый источник всё ещё в запросе собранного файлаВы удалили все источники — модель не очистилась. Замените блок data новым (см. выше)
Отбор по периоду остался после удаления whereОтбор тоже не очищается удалением. Укажите where с нужным полем или создайте новый файл
«Сначала исправьте ошибки в Spec1C» при сборкеВ тексте ошибка разбора — Сообщения об ошибках и предупреждения

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

См. также

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

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

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