Исходники в формате 1С:EDT
Команды, работающие с каталогом исходников, понимают два формата:
- XML-дамп Конфигуратора - выгрузка платформы (
Configuration.xmlв корне); - 1С:EDT - проект EDT (
.project, каталогsrc/с файлами*.mdo).
Платформа читает только XML, поэтому проект EDT экспортируется утилитой 1cedtcli (поставляется с 1С:EDT) во временный XML-каталог, а результат обычных операций при выгрузке в EDT импортируется ею обратно.
Поддержка по командам
| Команда | Ввод EDT | Вывод EDT |
|---|---|---|
cf compile, cf load, infobase init | да | - |
cf decompile | - | да |
cfe compile, cfe load | да | - |
cfe decompile | - | да |
epf compile | да | - |
epf decompile | - | да |
cf convert, cfe convert, epf convert | да | да |
validate edt | да | - |
Опции
--src-format входит в набор «Формат исходников», опции --edt-* подключаются вместе с ним; у команд convert есть только --edt-*.
| Опция | Переменная окружения | Описание |
|---|---|---|
--src-format | - | Формат каталога: auto (по умолчанию), edt, xml |
--edt-path | VRUNNER_EDT_PATH | Путь к 1cedtcli (исполняемый файл или каталог установки EDT). Если задан, поиск не выполняется |
--edt-version | VRUNNER_EDT_VERSION | Версия установленной EDT (например 2024.1) для выбора среди нескольких. Не связана с --v8version |
--edt-workspace | VRUNNER_EDT_WORKSPACE | Базовый каталог рабочей области EDT (по умолчанию - временный) |
--edt-timeout | VRUNNER_EDT_TIMEOUT | Таймаут операций 1cedtcli в секундах. По умолчанию 1cedtcli использует свой (60 минут) |
--edt-vmargs | VRUNNER_EDT_VMARGS | JVM-аргумент для 1cedtcli, можно указать несколько раз. Значение с ведущим дефисом - через =: --edt-vmargs=-Xmx8g |
Определение формата
При --src-format auto формат определяется по маркерам каталога:
- EDT - есть
.projectи исходникиsrc/*.mdo(или служебный каталогDT-INF); - XML - есть
Configuration.xmlилиConfigDumpInfo.xml; - ровно один вложенный EDT-проект - используется он; несколько - ошибка;
- иначе каталог считается XML.
Для выгрузки (decompile) формат auto определяется по существующему целевому каталогу; несуществующий или пустой каталог - XML. --src-format edt|xml отключает автоопределение.
Поиск 1cedtcli
--edt-path(VRUNNER_EDT_PATH) - используется как есть;- при заданной
--edt-version- установленная EDT этой версии (библиотека edtfind); если не найдена - предупреждение и переход к следующему шагу; 1cedtcliвPATH;- старшая установленная EDT - только если версия не задана.
Если ничего не найдено, команда завершается ошибкой.
Инкрементальная загрузка из EDT
1cedtcli умеет только полный экспорт, поэтому при cf load --increment и cfe load --increment для EDT-исходников изменения определяются по самому каталогу EDT-проекта: экспорт в XML выполняется полностью, а в базу выборочно грузятся только объекты, чьи файлы под src/ изменились. Полная загрузка выполняется при первом запуске (индекса ещё нет), при добавлении или удалении файлов под src/ и при изменении корня конфигурации или расширения (src/Configuration). Если изменений нет, загрузка пропускается.
Примеры
# Сборка cf из EDT-проекта (формат определится автоматически)
vrunner cf compile -s ./edt-project ./build/App.cf
# Форсировать формат и выбрать версию EDT
vrunner cf compile -s ./edt-project --src-format edt --edt-version 2024.1 ./build/App.cf
# Разобрать cf в EDT-проект
vrunner cf decompile --cf-file ./build/App.cf --src-format edt ./edt-out
# Инкрементальная загрузка из EDT-проекта
vrunner cf load --ibconnection /F./ib --increment ./edt-project
# Большая конфигурация: таймаут 90 минут и больше памяти для JVM
vrunner cf convert -s ./edt-erp --edt-timeout 5400 --edt-vmargs=-Xmx8g ./build/xml