Source: исходные файлы как основа сборки
Почему сборка всегда идёт из сохранённых исходников проекта, что видно на этапе Source и куда попадает код, сгенерированный по Spec1C.
Перед чтением
На этой странице
Source («Исходники») — разобранное содержимое файла: модули BSL, описания форм, макеты. Именно сохранённые исходники проекта Studio упаковывает при сборке.
Коротко#
- Сборка всегда берёт сохранённую на сервере версию исходников. Несохранённые правки в редакторе в файл не попадают.
- Править на этапе Source можно модули BSL: модуль объекта и модули форм. Остальные документы открываются с пометкой «только чтение».
- Код, сгенерированный по Spec1C, попадает только в собранный файл. В исходниках проекта зона генерации остаётся шаблонной.
- Сохранение — только кнопкой «Сохранить BSL». Истории версий и отката нет.
Что видно на этапе Source#
Подзаголовок этапа — «Формы · Модули · Данные — Source текущего файла». Вкладки: «Формы», «Модули», «Форма (УФ)», «Данные». Слева — список «МОДУЛИ ОБЪЕКТА», над редактором — поле «Найти процедуру или функцию…» и кнопка сохранения, внизу — строка вида «Стр. N, кол. M · N строк · BSL» и переключатель «Перенос: выкл». Открытые модули показываются вкладками с крестиком. Подробное описание экрана — Source.
Документы, которые не являются модулями BSL (например, описание формы), открываются для просмотра: рядом с именем стоит «· только чтение», кнопка сохранения неактивна.
Почему сборка идёт из сохранённых исходников#
Когда вы нажимаете «Собрать .epf», сервис сборки:
- Берёт текущую сохранённую версию исходников проекта.
- Копирует её в отдельную рабочую копию.
- Если в спецификации есть источники данных, генерирует код в зону модуля формы этой рабочей копии.
- Упаковывает рабочую копию в файл.
Исходники проекта при этом не меняются. Отсюда два следствия: правку модуля нужно сохранить до сборки (кнопка должна показывать «Сохранено»), а сгенерированный код не появится на этапе Source.
Куда попадает код из Spec1C#
В модуле формы есть зона между маркерами:
// >>> SPEC1C_EMIT_BLANK_BEGIN
// <<< SPEC1C_EMIT_BLANK_ENDПри сборке со спецификацией, где есть источники данных, код генерируется между этими маркерами в рабочей копии. В исходниках проекта зона остаётся шаблонной. Увидеть сгенерированный код можно в скачанном файле: откройте его в Конфигураторе и посмотрите модуль формы. Правки, написанные вручную между маркерами, при такой сборке заменяются сгенерированным кодом — пишите свой код вне зоны. Подробнее — Генерация BSL и зоны генерации.
Сохранение и отсутствие отката#
Пока в модуле есть правки, кнопка показывает «Сохранить BSL», а строка состояния — «Есть несохранённые изменения». После нажатия появляется «Исходники сохранены · Требуется сборка». Сочетание Ctrl+S модуль не сохраняет. Отмена Ctrl+Z работает только в редакторе до сохранения; после сохранения вернуть прежний текст средствами Studio нельзя. Как сохранять — Сохранить изменения BSL, как устроено сохранение в целом — Как Studio сохраняет изменения.
Что из этого следует#
- Перед сборкой проверьте, что правки сохранены: «Сохранено» над редактором и «Исходники сохранены» в строке состояния.
- Не ищите сгенерированный по Spec1C код на этапе Source — он есть только в собранном файле.
- Не пишите свой код между маркерами зоны генерации.
- Перед крупной правкой соберите и скачайте файл: это единственный способ сохранить состояние «до», раз отката нет.
- После сохранения правки предыдущая сборка перестаёт быть актуальной — соберите файл заново (Artifact и облачная сборка).
См. также
- Artifact и облачная сборка Понятие
- Сохранить изменения BSL Руководство
- Source Справочник
- Генерация BSL и зоны генерации Понятие
- Как Studio сохраняет изменения Понятие
Сверено с продуктом: 27.10.2026