Skip to content

cfe - Операции с расширениями

Группа команд cfe обеспечивает работу с расширениями конфигурации 1С (.cfe): сборку из XML-исходников, разборку, загрузку в базу, выгрузку и сравнение.

bash
vrunner cfe <подкоманда> [опции] [аргументы]

Формат исходников. cfe compile, cfe load принимают каталог исходников расширения как в XML-дампе Конфигуратора, так и в формате 1С:EDT; cfe decompile умеет выгружать в формат EDT. Опции --src-format, --edt-version, --edt-workspace, --edt-timeout. Подробнее: Исходники в формате 1С:EDT →.

compile

Собирает расширение из XML-исходников в файл .cfe.

bash
vrunner cfe compile [опции] <OUT>

Аргументы

АргументОписание
OUTПуть к создаваемому файлу расширения (.cfe) (обязательный)

Опции

ОпцияПеременная окруженияОписание
--s, --srcVRUNNER_SRCКаталог XML-исходников расширения (по умолчанию - текущий каталог)
--extension-nameVRUNNER_EXTENSION_NAMEИмя расширения. Если не задано - берётся из имени каталога исходников
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ. Если не указана - автоматически создаётся временная ИБ
--db-userVRUNNER_DBUSERПользователь информационной базы
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать утилиту ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--dbms-typeVRUNNER_DBMS_TYPEТип СУБД: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase. Нужен при --ibcmd для серверной ИБ
--dbms-serverVRUNNER_DBMS_SERVERАдрес сервера СУБД
--dbms-baseVRUNNER_DBMS_BASEИмя базы данных СУБД
--dbms-userVRUNNER_DBMS_USERПользователь СУБД
--dbms-pwdVRUNNER_DBMS_PWDПароль СУБД
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →

Примеры

bash
# Явное имя расширения
vrunner cfe compile \
  --s ./extensions/MyExtension/src \
  --extension-name MyExtension \
  --ibcmd \
  ./build/MyExtension.cfe

# Имя расширения определится автоматически из имени каталога исходников (MyExtension)
vrunner cfe compile --s ./extensions/MyExtension ./build/MyExtension.cfe

decompile

Разбирает расширение в XML-исходники: из файла .cfe либо напрямую из указанной информационной базы.

Если --cfe-file задан — он загружается во временную (или указанную) ИБ, после чего расширение выгружается в исходники. Если --cfe-file не задан — стадия загрузки пропускается и расширение выгружается из ИБ, переданной через --ibconnection (расширение с именем --extension-name должно быть установлено в этой базе). Когда не указаны ни --cfe-file, ни строка подключения (т.е. потребовалось бы создавать пустую временную ИБ), команда завершается с ошибкой — выгружать нечего.

bash
vrunner cfe decompile [опции] <OUT>

Аргументы

АргументОписание
OUTКаталог для выгрузки XML-исходников расширения (обязательный)

Опции

ОпцияПеременная окруженияОписание
--cfe-fileVRUNNER_CFE_FILEПуть к CFE-файлу для разборки. Если не задан — исходники выгружаются из ИБ, указанной в --ibconnection
--extension-nameVRUNNER_EXTENSION_NAMEИмя расширения (обязательный)
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ. Если не указана - автоматически создаётся временная ИБ
--db-userVRUNNER_DBUSERПользователь информационной базы
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать утилиту ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--dbms-typeVRUNNER_DBMS_TYPEТип СУБД: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase. Нужен при --ibcmd для серверной ИБ
--dbms-serverVRUNNER_DBMS_SERVERАдрес сервера СУБД
--dbms-baseVRUNNER_DBMS_BASEИмя базы данных СУБД
--dbms-userVRUNNER_DBMS_USERПользователь СУБД
--dbms-pwdVRUNNER_DBMS_PWDПароль СУБД
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →

Примеры

bash
# Разобрать CFE в исходники
vrunner cfe decompile \
  --cfe-file ./build/MyExtension.cfe \
  --extension-name MyExtension \
  --ibcmd \
  ./extensions/MyExtension/src

# Выгрузить исходники установленного расширения из существующей ИБ (без cfe-файла)
vrunner cfe decompile \
  --extension-name MyExtension \
  --ibconnection /FD:/bases/work \
  ./extensions/MyExtension/src

load

Загружает расширение в информационную базу из XML-исходников или CFE-файла.

Расширение грузится напрямую движком (Конфигуратором или ibcmd) в указанную базу — без предварительной сборки .cfe во временной базе. Это универсально и работает в том числе для расширений, которые компилируются только поверх основной конфигурации. Если уже установлено расширение с тем же именем — оно перезаписывается.

После загрузки конфигурация БД по умолчанию обновляется (UpdateDBCfg / config apply), чтобы расширение применилось к базе до запуска 1С:Предприятия. Флаг --no-update-db отключает обновление: в этом случае команда только загружает расширение и завершается — свойства расширения не изменяются (без применения к базе менять их нет смысла).

Свойства расширения применяются отдельным шагом после обновления БД. В режиме Конфигуратора обработка выполняется при каждой загрузке (запуск 1С:Предприятие, которому нужно уже применённое к базе расширение), чтобы гарантировать документированные дефолты: безопасный режим и защита от опасных действий выключены, даже если флаги не переданы. Флаги --safe-mode / --unsafe-action-protection включают соответствующее свойство; --active меняется только при явном флаге. В режиме ibcmd свойства задаются средствами ibcmd только при явных флагах (дефолты применяет сам ibcmd). Свойства --used-in-rib, --scope-infobase поддерживаются только при --ibcmd.

bash
vrunner cfe load [опции] <SRC>

Аргументы

АргументОписание
SRCКаталог XML-исходников или путь к CFE-файлу

Опции

ОпцияПеременная окруженияОписание
--extension-nameVRUNNER_EXTENSION_NAMEИмя расширения в базе (по умолчанию берётся из имени каталога/файла)
--safe-mode-Включить безопасный режим расширения (после загрузки; по умолчанию выключен)
--active-Сделать расширение активным (после загрузки)
--unsafe-action-protection-Включить защиту от опасных действий (после загрузки; по умолчанию выключена)
--used-in-rib-Используется в РИБ (только ibcmd)
--scope-infobase-Область действия - ИБ (только ibcmd)
--increment-Инкрементальная загрузка по индексу изменений
--no-update-db-Не обновлять конфигурацию БД после загрузки (по умолчанию БД обновляется; при пропуске свойства расширения не изменяются)
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-userVRUNNER_DBUSERПользователь информационной базы
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать утилиту ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--dbms-typeVRUNNER_DBMS_TYPEТип СУБД: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase. Нужен при --ibcmd для серверной ИБ
--dbms-serverVRUNNER_DBMS_SERVERАдрес сервера СУБД
--dbms-baseVRUNNER_DBMS_BASEИмя базы данных СУБД
--dbms-userVRUNNER_DBMS_USERПользователь СУБД
--dbms-pwdVRUNNER_DBMS_PWDПароль СУБД
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →

Примеры

bash
# Загрузить расширение из исходников через ibcmd
vrunner cfe load \
  --extension-name MyExtension \
  --ibcmd \
  --ibconnection /F./ib \
  ./extensions/MyExtension/src

# Загрузить с включённым безопасным режимом
vrunner cfe load \
  --extension-name MyExtension \
  --safe-mode \
  --ibconnection /F./ib \
  ./MyExtension.cfe

unload

Выгружает расширение из информационной базы в CFE-файл.

bash
vrunner cfe unload [опции] <OUT>

Аргументы

АргументОписание
OUTПуть к создаваемому CFE-файлу (обязательный)

Опции

ОпцияПеременная окруженияОписание
--extension-nameVRUNNER_EXTENSION_NAMEИмя расширения в базе (обязательный)
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-userVRUNNER_DBUSERПользователь информационной базы
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать утилиту ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--dbms-typeVRUNNER_DBMS_TYPEТип СУБД: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase. Нужен при --ibcmd для серверной ИБ
--dbms-serverVRUNNER_DBMS_SERVERАдрес сервера СУБД
--dbms-baseVRUNNER_DBMS_BASEИмя базы данных СУБД
--dbms-userVRUNNER_DBMS_USERПользователь СУБД
--dbms-pwdVRUNNER_DBMS_PWDПароль СУБД
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →

Примеры

bash
vrunner cfe unload \
  --extension-name MyExtension \
  --ibconnection /F./ib \
  ./backup/MyExtension.cfe

compare

Сравнивает два CFE-файла или CFE-файл с расширением в базе.

bash
vrunner cfe compare [опции]

Опции

ОпцияПо умолчаниюПеременная окруженияОписание
--extension-name-VRUNNER_EXTENSION_NAMEИмя расширения (обязательный)
--second-cfe--Путь ко второму CFE-файлу (обязательный)
--first-cfe--Путь к первому CFE-файлу; если не задан - сравнивается с расширением в базе
--report-dir.-Каталог для отчёта (имя файла генерируется автоматически)
--report-typeFull-Тип отчёта: Full (полный) или Brief (краткий)
--report-formattxt-Формат файла: txt или mxl
--ibconnection-VRUNNER_IBCONNECTIONСтрока подключения к ИБ. Нужна, если сравниваем с расширением в базе
--db-user-VRUNNER_DBUSERПользователь информационной базы
--db-pwd-VRUNNER_DBPWDПароль пользователя ИБ
--v8version-VRUNNER_V8VERSIONВерсия платформы 1С
--uccode-VRUNNER_UCCODEКод разрешения блокировки
--language-VRUNNER_LANGUAGEЯзык платформы
--locale-VRUNNER_LOCALEЯзык сеанса (локаль)
--dbms-type-VRUNNER_DBMS_TYPEТип СУБД: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase
--dbms-server-VRUNNER_DBMS_SERVERАдрес сервера СУБД
--dbms-base-VRUNNER_DBMS_BASEИмя базы данных СУБД
--dbms-user-VRUNNER_DBMS_USERПользователь СУБД
--dbms-pwd-VRUNNER_DBMS_PWDПароль СУБД
--settings-VRUNNER_SETTINGSПуть к файлу настроек (JSON)

Сравнение выполняется через Конфигуратор. Подробнее о форматах строки подключения: Подключение к базе данных →

Примеры

bash
vrunner cfe compare \
  --extension-name MyExtension \
  --first-cfe ./old/MyExtension.cfe \
  --second-cfe ./new/MyExtension.cfe \
  --report-dir ./reports

NOTE

Проверка применимости уже установленных расширений переехала в команду vrunner infobase extensions check. Там же доступна команда set-options для изменения параметров установленного расширения.

convert

Конвертирует каталог исходников расширения между форматами 1С:EDT и XML-дамп Конфигуратора.

Тип исходников определяется автоматически по маркерам каталога, а результат пишется в противоположном формате:

  • каталог 1С:EDT (.project + src/*.mdo) → XML-дамп Конфигуратора;
  • каталог XML-дампа (Configuration.xml) → проект 1С:EDT.

Если тип исходников определить не удалось (в каталоге нет маркеров ни одного из форматов или найдено несколько вложенных EDT-проектов), команда завершается с ошибкой.

Конвертация выполняется утилитой 1cedtcli, поэтому требуется установленная 1С:EDT (см. Исходники в формате 1С:EDT →).

bash
vrunner cfe convert [опции] OUT

Аргументы

АргументОписание
OUTКаталог для результата конвертации (обязательный)

Опции

ОпцияПо умолчаниюПеременная окруженияОписание
--src / -sтекущий каталогVRUNNER_SRCКаталог исходников расширения для конвертации
--edt-version-VRUNNER_EDT_VERSIONВерсия установленной 1С:EDT (например 2024.1) для выбора среди нескольких
--edt-workspace-VRUNNER_EDT_WORKSPACEБазовый каталог рабочей области EDT (по умолчанию - временный)
--edt-timeout-VRUNNER_EDT_TIMEOUTТаймаут операций 1cedtcli в секундах. По умолчанию 1cedtcli использует свой (60 с) - на больших расширениях его может не хватать
--settings-VRUNNER_SETTINGSПуть к файлу настроек (JSON)

Примеры

bash
# Конвертировать EDT-проект расширения в XML-дамп Конфигуратора (тип определится автоматически)
vrunner cfe convert --src ./edt-extension ./build/xml

# Обратная конвертация: XML-дамп → проект 1С:EDT
vrunner cfe convert --src ./build/xml ./edt-extension