Skip to content

Интеграция с ИИ-ассистентами (MCP)

vanessa-runner умеет работать как MCP-сервер (Model Context Protocol) — выставлять свои команды как инструменты для ИИ-ассистентов. После подключения ассистент (Claude, Copilot, Cursor и др.) может сам собирать конфигурации, запускать тесты, обслуживать информационные базы — вызывая vrunner за вас.

Сервер — это отдельная программа vrunner-mcp. Она работает по протоколу stdio: её запускает и общается с ней сама IDE/клиент, вручную запускать не нужно — достаточно прописать её в конфигурации подключения (см. ниже).

Что это даёт

  • ассистент видит список команд vrunner с описанием и параметрами и подставляет аргументы сам;
  • вывод выполняемой команды передаётся ассистенту по мере выполнения — видно ход сборки/тестов в реальном времени;
  • общие параметры задаются один раз за сессию. Переданные в вызове опции (версия платформы, строка подключения, параметры СУБД и т.п.) запоминаются по имени и автоматически подставляются во все последующие команды, где есть такая же опция, — пока не заданы заново. Не нужно повторять их в каждом вызове;
  • долгие команды выполняются в фоне. Тесты, инициализация и обновление ИБ, сборка конфигурации сразу возвращают идентификатор задачи (taskId), а ход и результат ассистент забирает инструментами task_status / task_result (и может отменить через task_cancel) — соединение не висит на всё время;
  • источник один и тот же — это обычные команды vrunner, поэтому поведение совпадает с ручным запуском в терминале.

Требования

  • установленный vanessa-runner (opm install vanessa-runner) — вместе с ним ставится программа vrunner-mcp (должна быть доступна в PATH);
  • установленная платформа 1С:Предприятие (как и для обычной работы vrunner).

Если vrunner-mcp не установлен в PATH, сервер можно запускать из исходников через oscript src/mcp.os (см. варианты ниже).

Подключение в IDE

Во всех клиентах принцип один: добавить MCP-сервер с командой запуска vrunner-mcp. Отличается только файл и формат конфигурации.

json
{
  "mcpServers": {
    "vrunner": {
      "command": "vrunner-mcp"
    }
  }
}
json
{
  "mcpServers": {
    "vrunner": {
      "command": "vrunner-mcp"
    }
  }
}
json
{
  "servers": {
    "vrunner": {
      "type": "stdio",
      "command": "vrunner-mcp"
    }
  }
}
json
{
  "mcpServers": {
    "vrunner": {
      "command": "vrunner-mcp"
    }
  }
}
json
{
  "mcpServers": {
    "vrunner": {
      "command": "vrunner-mcp"
    }
  }
}
  • Claude Code — файл .mcp.json в корне проекта (общий для команды), либо команда claude mcp add vrunner -- vrunner-mcp.
  • Cursor.cursor/mcp.json в проекте или ~/.cursor/mcp.json глобально.
  • VS Code.vscode/mcp.json в проекте (обратите внимание: ключ servers и поле type, в отличие от остальных клиентов).
  • Windsurf — раздел «MCP Servers» в настройках Cascade или файл ~/.codeium/windsurf/mcp_config.json.
  • Claude Desktopclaude_desktop_config.json (в меню Settings → Developer).

Запуск из исходников (без установки в PATH)

Если работаете с vanessa-runner из репозитория, укажите oscript и путь к точке входа src/mcp.os. Рабочим каталогом должен быть корень проекта:

json
{
  "mcpServers": {
    "vrunner": {
      "command": "oscript",
      "args": ["src/mcp.os"]
    }
  }
}

Проверка подключения

После добавления конфигурации перезапустите IDE/клиент (или переподключите сервер). В списке доступных инструментов появятся команды vrunner (cf_compile, test_xunit, infobase_init и др.) и управление фоновыми задачами task_status / task_result / task_cancel.

Попросите ассистента, например: «собери конфигурацию из src в build/1cv8.cf» — он подберёт инструмент cf_compile и подставит параметры. Заданную версию платформы или строку подключения достаточно указать один раз — они запомнятся и применятся к следующим командам автоматически.

Отладка вызова

Если нужно понять, что именно делает команда, попросите ассистента вызвать её с отладкой — у каждого инструмента есть параметр debug. При debug: true команда выполняется синхронно, а в ответ возвращается подробный отладочный лог (версия платформы, разбор параметров, шаги сборки). Это удобно при диагностике, когда обычного результата недостаточно.

Безопасность

Сервер только выставляет команды — никаких новых прав он не даёт; поведение совпадает с ручным запуском vrunner. Интерактивные команды (run designer, run enterprise) в MCP не выставляются.

Разрушающие операции (загрузка в ИБ, операции с хранилищем и кластером) тоже доступны ассистенту. Контроль над ними — на стороне клиента: MCP-клиенты по умолчанию спрашивают подтверждение перед каждым вызовом инструмента, пока вы не внесёте его в список разрешённых. Поэтому перед запуском потенциально опасных команд вы увидите запрос и сможете отказать.


Подключение к базе данных

Большинство команд vanessa-runner работают с информационной базой 1С. На этой странице объясняется, как указать нужную базу и когда какие опции подключения нужны.

Строка подключения (--ibconnection)

Опция --ibconnection указывает, к какой базе подключиться.

Файловая ИБ:

bash
--ibconnection /F<путь>

Примеры: --ibconnection /F./ib, --ibconnection /FD:/bases/MyProject

Серверная ИБ (1С:Сервер предприятия):

bash
--ibconnection "/S<хост>\<имя-ИБ>"

Пример: --ibconnection "/SMyServer\MyInfobase"

Учётные данные ИБ

--db-user и --db-pwd - пользователь и пароль, созданные в 1С (не пользователь ОС или СУБД). Если база не требует аутентификации - можно не указывать.

Конфигуратор или ibcmd?

По умолчанию vanessa-runner использует Конфигуратор (1cv8.exe DESIGNER).

Флаг --ibcmd переключает на утилиту ibcmd, которая работает напрямую с файлами базы без запуска сервера. Это быстрее и удобнее в CI/CD.

Конфигураторibcmd
Нужен работающий кластерДля серверных ИБНет
СУБД-опции для серверной ИБНе нужныНужны
СкоростьСтандартнаяБыстрее

Когда нужны опции СУБД (--dbms-*)

--dbms-type, --dbms-server, --dbms-base, --dbms-user, --dbms-pwd нужны в одном случае:

ibcmd + серверная ИБ:
ibcmd подключается к СУБД напрямую, минуя 1С-сервер - нужны учётные данные СУБД.

TIP

Для файловых баз или при работе через Конфигуратор опции --dbms-* не нужны.

Когда база необязательна (временная ИБ)

Некоторые команды работают без готовой базы - они автоматически создают временную ИБ, выполняют операцию и удаляют её:

КомандаПоведение без --ibconnection
cf compile, cfe compile, epf compileСоздаётся временная файловая ИБ (удаляется после)
cf decompile, cfe decompile, epf decompileТо же самое
infobase initСоздаётся файловая ИБ в build/ib (не удаляется)

Для всех остальных команд --ibconnection обязателен.

Примеры

Файловая ИБ

bash
vrunner cf load \
  --ibconnection /F./ib \
  --db-user Admin \
  --db-pwd secret \
  ./src

Серверная ИБ через Конфигуратор

bash
vrunner cf load \
  --ibconnection "/SMyServer\MyIB" \
  --db-user Admin \
  --db-pwd secret \
  ./src

Серверная ИБ через ibcmd

bash
vrunner cf compile \
  --ibcmd \
  --ibconnection "/SMyServer\MyIB" \
  --dbms-type PostgreSQL \
  --dbms-server db.example.com \
  --dbms-base my_db \
  --dbms-user postgres \
  --dbms-pwd db_password \
  ./build/App.cf

Без базы (временная ИБ)

bash
# ibcmd создаёт и удаляет временную базу автоматически
vrunner cf compile --ibcmd ./build/App.cf

Загрузка в существующую серверную ИБ через ibcmd

WARNING

infobase init не создаёт серверную ИБ. Создайте базу заранее - через консоль кластера 1С или ibcmd infobase create, затем загрузите конфигурацию:

bash
vrunner infobase init \
  --ibconnection "/SMyServer\MyNewIB" \
  --ibcmd \
  --dbms-type MSSQLServer \
  --dbms-server sql.example.com \
  --dbms-base MyNewDB \
  --dbms-user sa \
  --dbms-pwd secret \
  --src ./build/App.cf

Исходники в формате 1С:EDT

Команды, работающие с каталогом исходников, понимают два формата:

  • XML-дамп Конфигуратора - классическая выгрузка (Configuration.xml в корне);
  • 1С:EDT - проект 1С:EDT (.project, каталог src/ с файлами *.mdo).

Платформа 1С не умеет читать формат EDT напрямую, поэтому vanessa-runner использует 1cedtcli (поставляется с 1С:EDT), а затем передаёт результат обычному конвейеру платформы. Для конфигураций и расширений EDT конвертируется в XML. Проекты внешних объектов сначала собираются EDT в .epf/.erf, после чего эти файлы разбираются Конфигуратором.

Поддержка по командам

КомандаВвод EDTВывод EDT
cf compile, cf load, infobase init-
cf decompile-
cf convert, cfe convert
cfe compile, cfe load-
cfe decompile-
epf compile, epf decompile
epf convert-

epf compile и epf decompile работают только с форматом Конфигуратора. Отдельная команда epf convert поддерживает одностороннее преобразование проекта внешних отчётов и обработок EDT → XML.

Опции

ОпцияПеременная окруженияОписание
--src-format-Формат каталога: auto (по умолчанию), edt, xml
--edt-versionVRUNNER_EDT_VERSIONВерсия установленной EDT (например 2024.1) для выбора среди нескольких. Из неё определяется путь к 1cedtcli
--edt-workspaceVRUNNER_EDT_WORKSPACEБазовый каталог рабочей области EDT (по умолчанию - временный)
--edt-timeoutVRUNNER_EDT_TIMEOUTТаймаут операций 1cedtcli (export/import/build/validate) в секундах. По умолчанию 1cedtcli использует свой (60 минут)
--edt-vmargsVRUNNER_EDT_VMARGSДополнительный JVM-аргумент 1cedtcli; опцию можно указывать несколько раз

Таймаут на больших конфигурациях. Конвертация и проверка через 1cedtcli по умолчанию ограничены таймаутом в 60 минут. Для тяжёлых конфигураций (1С:ERP и т. п.) экспорт/импорт не успевает завершиться - увеличьте таймаут опцией --edt-timeout (например --edt-timeout 5400) или переменной окружения VRUNNER_EDT_TIMEOUT.

Определение формата

При --src-format auto (по умолчанию) формат определяется по маркерам на диске:

  1. EDT - если в каталоге есть .project и исходники *.mdo (или служебный каталог DT-INF);
  2. XML - если есть Configuration.xml/ConfigDumpInfo.xml;
  3. если в каталоге лежит ровно один вложенный EDT-проект - используется он;
  4. иначе каталог считается XML.

--src-format edt|xml отключает автоопределение и форсирует формат.

Поиск 1cedtcli

Путь к 1cedtcli определяется в порядке приоритета:

  1. поиск установленной EDT по версии --edt-version (через библиотеку edtfind; без версии - берётся максимальная);
  2. поиск в PATH.

--edt-version - это версия 1С:EDT (например 2024.1), она не связана с версией платформы 1С (--v8version, например 8.3.24).

Инкрементальная загрузка из EDT

1cedtcli умеет только полный экспорт EDT → XML (нет частичной/инкрементальной выгрузки), а платформа не читает EDT напрямую. Поэтому при cf load --increment для EDT-исходников vanessa-runner:

  1. индексирует изменения по каталогу EDT-исходников (.mdo/.bsl/.form - стабильные файлы), а не по временному XML-дампу, который пересоздаётся при каждом экспорте;
  2. по диффу определяет изменённые объекты конфигурации (<Вид>/<Имя>, например Catalogs/Справочник1);
  3. выполняет полный экспорт EDT → XML, после чего грузит в базу только XML-файлы изменённых объектов.

Когда выполняется полная загрузка (а не выборочная):

  • при первом запуске (индекс ещё не построен);
  • при добавлении или удалении объектов/файлов под src/;
  • при изменении корня конфигурации (src/Configuration - состав метаданных, языки, общие настройки).

Если изменений в EDT-исходниках нет - загрузка пропускается целиком.

Выборочная загрузка применяется при модификации существующих объектов (правка модулей, форм, свойств) - это основной сценарий итеративной разработки.

bash
vrunner cf load --ibconnection /F./ib --increment --src-format edt ./edt-project

Примеры

bash
# Сборка cf из EDT-проекта (формат определится автоматически)
vrunner cf compile --s ./edt-project ./build/App.cf

# Форсировать формат EDT и выбрать конкретную версию EDT
vrunner cf compile --s ./edt-project \
  --src-format edt \
  --edt-version 2024.1 \
  ./build/App.cf

# Разобрать cf в EDT-проект (вывод в формате EDT)
vrunner cf decompile --cf-file ./build/App.cf --src-format edt ./edt-out

# Инициализация ИБ из EDT-проекта
vrunner infobase init --src ./edt-project --edt-version 2024.1

# Расширение из EDT-проекта
vrunner cfe compile --s ./edt-ext --extension-name MyExt ./build/Ext.cfe

# Проект внешних отчётов и обработок EDT → XML Конфигуратора
vrunner epf convert --src ./edt-epf --edt-version 2025.2 ./build/epf-xml

cf - Операции с конфигурацией

Группа команд cf обеспечивает работу с конфигурацией 1С: сборку из исходников, разборку, загрузку в базу, выгрузку, создание файла поставки, объединение и сравнение.

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

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

compile

Собирает конфигурацию 1С из XML-исходников в файл .cf.

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

Аргументы

АргументОписание
OUTПуть к создаваемому файлу конфигурации (.cf)

Опции

ОпцияПеременная окруженияОписание
--s, --srcVRUNNER_SRCКаталог исходников конфигурации (по умолчанию - текущий каталог)
--list-Список файлов для выборочной загрузки
--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
# Собрать конфигурацию с помощью ibcmd
vrunner cf compile --s ./src --ibcmd ./build/MyApp.cf

# Собрать через конфигуратор с указанием базы
vrunner cf compile \
  --s ./src \
  --ibconnection /FD:/bases/MyProject \
  --v8version 8.3.24 \
  ./build/MyApp.cf

decompile

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

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

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

Аргументы

АргументОписание
OUTКаталог для выгрузки исходников конфигурации

Опции

ОпцияПеременная окруженияОписание
--cf-fileVRUNNER_CF_FILEПуть к CF-файлу для разборки. Если не задан — исходники выгружаются из ИБ, указанной в --ibconnection
--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
# Разобрать CF в исходники
vrunner cf decompile --cf-file ./build/MyApp.cf --ibcmd ./src

# Через конфигуратор
vrunner cf decompile \
  --cf-file ./MyApp.cf \
  --ibconnection /FD:/bases/temp \
  --v8version 8.3.24 \
  ./src

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

load

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

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

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

Аргументы

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

Опции

ОпцияПеременная окруженияОписание
--list-Список файлов для выборочной загрузки
--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 и опциях СУБД: Подключение к базе данных →

Инкрементальная загрузка из EDT. Платформа не умеет инкрементально выгружать EDT, поэтому для EDT-исходников --increment детектирует изменения по самому каталогу EDT (а не по временному XML-дампу): экспорт в XML выполняется полностью, но в базу выборочно грузятся только объекты, чьи .mdo/.bsl/.form изменились. Добавление/удаление объектов и изменения корня конфигурации (src/Configuration) выполняются полной загрузкой. См. Исходники EDT →.

Примеры

bash
# Загрузить конфигурацию из исходников (с обновлением конфигурации БД)
vrunner cf load --ibconnection /F./ib ./src

# Загрузить без обновления конфигурации БД
vrunner cf load --ibconnection /F./ib --no-update-db ./src

# Инкрементальная загрузка
vrunner cf load --ibconnection /F./ib --increment ./src

# Инкрементальная загрузка из EDT-проекта
vrunner cf load --ibconnection /F./ib --increment --src-format edt ./edt-project

unload

Выгружает конфигурацию из информационной базы в CF-файл.

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

Аргументы

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

Опции

ОпцияПеременная окруженияОписание
--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 cf unload --ibconnection /F./ib ./backup/MyApp.cf

make-dist

Создаёт полный файл поставки конфигурации командой Конфигуратора /CreateDistributionFiles. Источником служит конфигурация указанной информационной базы; ibcmd эту операцию не поддерживает.

bash
vrunner cf make-dist [опции] <OUT>

Аргументы

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

Опции

ОпцияПеременная окруженияОписание
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (обязательна)
--db-userVRUNNER_DBUSERПользователь информационной базы
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--dbms-typeVRUNNER_DBMS_TYPEТип СУБД для серверной ИБ
--dbms-serverVRUNNER_DBMS_SERVERАдрес сервера СУБД
--dbms-baseVRUNNER_DBMS_BASEИмя базы данных СУБД
--dbms-userVRUNNER_DBMS_USERПользователь СУБД
--dbms-pwdVRUNNER_DBMS_PWDПароль СУБД
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

Пример

bash
vrunner cf make-dist --ibconnection /F./ib ./build/1Cv8-dist.cf

merge

Объединяет конфигурацию из CF-файла с конфигурацией информационной базы согласно файлу настроек.

bash
vrunner cf merge [опции]

Опции

ОпцияОписание
--s, --srcПуть к CF-файлу с конфигурацией для объединения (обязательный)
--merge-settingsПуть к файлу настроек объединения (обязательный)
--enable-supportПоставить конфигурацию на поддержку
--disable-supportСнять конфигурацию с поддержки
--IncludeObjectsByUnresolvedRefsВключить объекты с неразрешёнными ссылками
--ClearUnresolvedRefsОчищать неразрешённые ссылки
--force-
--ibconnectionVRUNNER_IBCONNECTION
--db-userVRUNNER_DBUSER
--db-pwdVRUNNER_DBPWD
--ibcmd-
--v8versionVRUNNER_V8VERSION
--uccodeVRUNNER_UCCODE
--languageVRUNNER_LANGUAGE
--localeVRUNNER_LOCALE
--dbms-typeVRUNNER_DBMS_TYPE
--dbms-serverVRUNNER_DBMS_SERVER
--dbms-baseVRUNNER_DBMS_BASE
--dbms-userVRUNNER_DBMS_USER
--dbms-pwdVRUNNER_DBMS_PWD
--settingsVRUNNER_SETTINGS

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

Примеры

bash
vrunner cf merge \
  --s ./vendor/BSP.cf \
  --merge-settings ./merge-settings.xml \
  --ibconnection /F./ib \
  --enable-support

compare

Сравнивает два CF-файла или CF-файл с конфигурацией базы и формирует отчёт.

bash
vrunner cf compare [опции]

Опции

ОпцияПо умолчаниюПеременная окруженияОписание
--second-cf--Путь ко второму CF-файлу (с чем сравниваем) (обязательный)
--first-cf--Путь к первому CF-файлу; если не задан - сравнивается конфигурация базы
--report-dir.-Каталог для сохранения отчёта (имя файла генерируется автоматически)
--report-typeFull-Тип отчёта: Full (полный) или Brief (краткий)
--report-formattxt-Формат файла: txt или mxl
--ibconnection-VRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная). Нужна, если сравниваем с конфигурацией базы (без --first-cf)
--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
# Сравнить два CF-файла
vrunner cf compare \
  --first-cf ./old/App.cf \
  --second-cf ./new/App.cf \
  --report-dir ./reports

# Сравнить конфигурацию базы с CF-файлом
vrunner cf compare \
  --second-cf ./vendor/BSP.cf \
  --ibconnection /F./ib \
  --report-type Brief

make-dist

В разработке

Команда cf make-dist находится в разработке и пока не реализована.

Создаёт файл поставки конфигурации.

bash
vrunner cf make-dist [опции]

Опции

ОпцияПеременная окруженияОписание
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

convert

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

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

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

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

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

bash
vrunner cf 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 cf convert --src ./edt-project ./build/xml

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

# Большая конфигурация: увеличить таймаут 1cedtcli до 90 минут
vrunner cf convert --src ./edt-erp --edt-timeout 5400 ./build/xml

Таймаут на больших конфигурациях

По умолчанию 1cedtcli ограничивает операцию таймаутом в 60 секунд. Для тяжёлых конфигураций (1С:ERP и т. п.) экспорт/импорт не успевает завершиться - увеличьте таймаут опцией --edt-timeout или переменной окружения VRUNNER_EDT_TIMEOUT.


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

epf - Операции с внешними обработками

Группа команд epf обеспечивает работу с внешними обработками и отчётами 1С (.epf, .erf): сборку из XML-исходников, разборку и конвертацию проектов 1С:EDT.

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

EDT поддерживается отдельной командой

epf compile и epf decompile работают с форматом Конфигуратора. Для односторонней конвертации EDT → XML используйте epf convert.

convert

Конвертирует внешние отчёты и обработки между форматами 1С:EDT и XML Конфигуратора штатными export/import утилиты 1cedtcli. Направление определяется автоматически по каталогу источника (--src):

  • EDT-проект → XML: объекты выгружаются в подкаталоги ExternalDataProcessors/ и ExternalReports/ каталога OUT — по одному корневому <Имя>.xml на объект;
  • XML → EDT-проект: те же XML-дампы импортируются обратно в EDT-проект внешних объектов.

Сборка .epf/.erf и информационная база не требуются — операция работает только с 1С:EDT.

bash
vrunner epf convert [опции] <OUT>

Аргументы

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

Опции

ОпцияПеременная окруженияОписание
-s, --srcVRUNNER_SRCКаталог источника: EDT-проект или XML-дампы (по умолчанию - текущий каталог)
--edt-versionVRUNNER_EDT_VERSIONВерсия установленной 1С:EDT
--edt-workspaceVRUNNER_EDT_WORKSPACEБазовый каталог временной рабочей области EDT
--edt-timeoutVRUNNER_EDT_TIMEOUTТаймаут операций 1cedtcli в секундах
--edt-vmargsVRUNNER_EDT_VMARGSJVM-аргумент 1cedtcli; опцию можно повторять
--settingsVRUNNER_SETTINGSПуть к файлу настроек JSON

Только опции EDT

В отличие от epf compile/epf decompile, команде convert не нужны опции подключения, платформы, ibcmd и СУБД: она не создаёт временную базу и не собирает .epf.

Примеры

bash
# EDT → XML
vrunner epf convert \
  --src ./src/epf/MyExternalProject \
  --edt-version 2025.2 \
  --edt-workspace ./build/ws \
  ./build/xml

# XML → EDT (обратно)
vrunner epf convert --src ./build/xml ./build/edt

Например, при выгрузке внешняя обработка MyProcessor окажется в build/xml/ExternalDataProcessors/MyProcessor.xml, а обратный импорт этого же каталога воссоздаст EDT-проект в build/edt.

compile

Собирает внешние обработки (.epf) и внешние отчёты (.erf) из XML-исходников. Поддерживает обработку целого каталога с рекурсивным поиском.

Тип объекта определяется по корневому тегу XML, он же задаёт расширение результата: ExternalDataProcessor.epf, ExternalReport.erf. В одном дереве исходников обработки и отчёты могут лежать вперемешку — каждый объект соберётся со своим расширением.

bash
vrunner epf compile [опции] [SRC]

Аргументы

АргументОписание
SRCКаталог с XML-исходниками обработок и отчётов (по умолчанию - текущий каталог)

Опции

ОпцияПеременная окруженияОписание
--R, --recursive-Рекурсивный поиск обработок и отчётов в подкаталогах
--out-Каталог для сохранения собранных обработок и отчётов
--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Пароль СУБД
--src-format-Формат исходников: auto (по умолчанию), xml, edt
--edt-version, --edt-workspace, --edt-timeout, --edt-vmargsVRUNNER_EDT_*Параметры 1С:EDT (для --src-format edt)
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

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

Исходники 1С:EDT

Если SRC — проект внешних объектов 1С:EDT (--src-format edt или автоопределение), compile сначала выгружает его в XML через 1cedtcli (export), затем собирает .epf/.erf из полученных XML. Требуется установленная 1С:EDT.

Примеры

bash
# Собрать все обработки в текущем каталоге
vrunner epf compile --ibcmd

# Рекурсивно собрать все обработки в каталоге epf/
vrunner epf compile -R --out ./build/epf --ibcmd ./epf

# Через конфигуратор
vrunner epf compile \
  --ibconnection /F./ib \
  --v8version 8.3.24 \
  ./epf

Формат исходников

Каждая обработка хранится в отдельном каталоге, где корневой файл имеет расширение .os или описание в формате конфигуратора.

decompile

Разбирает файл внешней обработки .epf или внешнего отчёта .erf (либо каталог с такими файлами) в XML-исходники. При обходе каталога подхватываются оба расширения.

bash
vrunner epf decompile [опции] <SRC>

Аргументы

АргументОписание
SRCПуть к EPF/ERF-файлу или каталогу с ними (обязательный)

Опции

ОпцияПеременная окруженияОписание
--R, --recursive-Рекурсивный поиск EPF/ERF-файлов (для каталога)
--out-Каталог для сохранения разобранных исходников
--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Пароль СУБД
--src-format-Формат выгрузки: auto/xml (XML Конфигуратора) или edt (проект 1С:EDT)
--edt-version, --edt-workspace, --edt-timeout, --edt-vmargsVRUNNER_EDT_*Параметры 1С:EDT (для --src-format edt)
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

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

Выгрузка в 1С:EDT

С --src-format edt команда разбирает .epf/.erf во временный XML и затем импортирует его в EDT-проект внешних объектов через 1cedtcli (import). Требуется установленная 1С:EDT.

Примеры

bash
# Разобрать один файл
vrunner epf decompile --ibcmd ./MyReport.epf

# Разобрать все файлы из каталога рекурсивно
vrunner epf decompile -R --out ./epf --ibcmd ./build/epf

# Через конфигуратор
vrunner epf decompile \
  --ibconnection /F./ib \
  --out ./src/reports/MyReport \
  ./MyReport.epf

infobase - Управление информационными базами

Группа команд infobase обеспечивает создание, обновление и управление информационными базами 1С: инициализацию, обновление конфигурации БД, выгрузку и восстановление резервных копий.

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

init

Создаёт информационную базу и опционально загружает в неё конфигурацию из указанного источника.

bash
vrunner infobase init [опции]

Опции

ОпцияПеременная окруженияОписание
--srcVRUNNER_SOURCEИсточник конфигурации: каталог исходников (XML-дамп или 1С:EDT), .cf или .dt файл. Псевдоним (для обратной совместимости): --source
--ext-Расширение для загрузки: .cfe-файл или каталог XML/EDT-исходников. Можно указать несколько раз. Имя расширения определяется из имени файла/каталога
--src-format-Формат каталога исходников (применяется и к --src, и к --ext): auto (по умолчанию), edt, xml. См. 1С:EDT
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения. Если не указана - создаётся файловая ИБ в build/ib
--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 и опциях СУБД: Подключение к базе данных →

Логика работы

  1. Если --ibconnection не указан - создаётся файловая ИБ в build/ib
  2. Если --ibconnection /F... - создаётся файловая ИБ по указанному пути
  3. Если указана серверная строка подключения (/S...) - ИБ должна уже существовать
  4. Загрузка конфигурации из --src (если задан)
  5. Загрузка расширений из --ext (если заданы) и применение их к БД

Примеры

bash
# Создать пустую файловую ИБ
vrunner infobase init --ibconnection /FD:/bases/MyProject

# Создать ИБ и загрузить конфигурацию из CF-файла
vrunner infobase init \
  --src ./build/MyApp.cf \
  --ibconnection /F./tmp-ib \
  --ibcmd

# Создать ИБ и загрузить из исходников
vrunner infobase init \
  --src ./src \
  --ibconnection /F./tmp-ib

# Создать ИБ, загрузить конфигурацию и несколько расширений
# (.cfe-файл и каталог исходников; имена берутся из имени файла/каталога)
vrunner infobase init \
  --src ./src \
  --ext ./build/МоёРасширение.cfe \
  --ext ./src-ext/Интеграция \
  --ibconnection /F./tmp-ib

# Загрузить конфигурацию в существующую серверную ИБ через ibcmd
vrunner infobase init \
  --src ./build/MyApp.cf \
  --ibconnection "/SMyServer\MyIB" \
  --ibcmd \
  --dbms-type PostgreSQL \
  --dbms-server localhost \
  --dbms-base my_db \
  --dbms-user postgres \
  --dbms-pwd secret

update

Обновляет конфигурацию БД информационной базы. Опционально загружает конфигурацию из нового источника перед обновлением.

bash
vrunner infobase update [опции]

Опции

ОпцияПо умолчаниюОписание
--src-Источник конфигурации: каталог исходников или .cf файл. Псевдоним (для обратной совместимости): --source
--target-Цель обновления: main - основная конфигурация; имя расширения - конкретное расширение; пусто - всё
--rtypev1Режим реструктуризации: v1 (обычный), v2 (оптимизированный)
--increment-Инкрементальная загрузка по индексу изменений
--dynamic-Разрешить динамическое обновление конфигурации
--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 infobase update --ibconnection /F./ib

# Загрузить новую конфигурацию и обновить БД
vrunner infobase update \
  --src ./build/MyApp.cf \
  --ibconnection /F./ib \
  --rtype v2

# Обновить с динамическим обновлением
vrunner infobase update \
  --ibconnection /F./ib \
  --dynamic

dump-dt

Выгружает информационную базу в файл резервной копии (.dt).

bash
vrunner infobase dump-dt [опции] <OUT>

Аргументы

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

Опции

ОпцияПеременная окруженияОписание
--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 infobase dump-dt \
  --ibconnection /F./ib \
  --v8version 8.3.24 \
  ./backup/MyProject_2026-04.dt

restore-dt

Восстанавливает информационную базу из файла резервной копии (.dt).

bash
vrunner infobase restore-dt [опции] <SRC>

Аргументы

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

Опции

ОпцияПеременная окруженияОписание
--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 infobase restore-dt \
  --ibconnection /F./ib \
  ./backup/MyProject_2026-04.dt

create-user

Создаёт пользователя в информационной базе. Пользователь создаётся только если в ИБ ещё нет ни одного пользователя; по умолчанию ему назначаются роли полного доступа (ПолныеПрава, АдминистраторСистемы). Набор ролей можно переопределить ключами --role, что позволяет создавать не только администратора, но и пользователя с произвольным набором прав. Команда работает на конфигурациях, основанных на БСП, и запускается в режиме 1С:Предприятие.

bash
vrunner infobase create-user [--role <РОЛЬ>]... [опции] <NAME>

Аргументы

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

Опции

ОпцияПеременная окруженияОписание
--role-Имя роли для назначения пользователю. Можно указать несколько раз. По умолчанию: ПолныеПрава, АдминистраторСистемы
--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
--dbms-serverVRUNNER_DBMS_SERVERАдрес сервера СУБД
--dbms-baseVRUNNER_DBMS_BASEИмя базы данных СУБД
--dbms-userVRUNNER_DBMS_USERПользователь СУБД
--dbms-pwdVRUNNER_DBMS_PWDПароль СУБД

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

Примеры

bash
# Создать администратора с именем "Администратор" в файловой ИБ (роли по умолчанию)
vrunner infobase create-user --ibconnection /F./ib Администратор

# Создать пользователя с произвольным набором ролей
vrunner infobase create-user \
  --role ЧтениеДанных \
  --role РаботаСЗаказами \
  --ibconnection /F./ib \
  Оператор

lock-resources

Разрешает или запрещает работу информационной базы с внешними ресурсами (использует механизм Библиотеки стандартных подсистем). Необходимо указать ровно один из взаимоисключающих флагов --allow или --deny.

bash
vrunner infobase lock-resources (--allow | --deny) [опции]

Опции

ОпцияПеременная окруженияОписание
--allow-Разрешить работу с внешними ресурсами
--deny-Запретить работу с внешними ресурсами
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)

Подробнее о подключении и ibcmd: Подключение к базе данных →

Примеры

bash
# Запретить работу с ВНЕШНИМИ ресурсами, например на развёрнутой копии базы,
# чтобы она случайно не отправляла письма/обмены в боевые системы
vrunner infobase lock-resources --deny --ibconnection /F./ib

# Снова разрешить работу с внешними ресурсами
vrunner infobase lock-resources --allow --ibconnection /F./ib

scheduled-job

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

bash
vrunner infobase scheduled-job <enable | disable> [опции] <JOB>

Аргументы

АргументОписание
JOBИмя метаданных регламентного задания (обязательный)

Опции

ОпцияПеременная окруженияОписание
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)

Подробнее о подключении и ibcmd: Подключение к базе данных →

Примеры

bash
# Отключить регламентное задание извлечения текста
vrunner infobase scheduled-job disable --ibconnection /F./ib ИзвлечениеТекста

# Снова включить регламентное задание извлечения текста
vrunner infobase scheduled-job enable --ibconnection /F./ib ИзвлечениеТекста

NOTE

В будущем планируется управление расписанием регламентных заданий через передачу расписания в cron-формате (а не только включение/отключение).

extensions

Группа команд для работы с уже установленными в базе расширениями конфигурации. Не требует .cfe-файлов или исходников: команды работают с расширениями, которые уже подключены к информационной базе. Команды list/check/delete/set-options запускаются в режиме 1С:Предприятие; create создаёт пустое расширение конфигуратором.

bash
vrunner infobase extensions <list | check | create | delete | set-options> [опции]

list

Выводит список установленных расширений. По умолчанию - только имена; с флагом --verbose/-v - таблица с именем, версией, активностью, безопасным режимом, защитой от опасных действий и режимом основных ролей.

bash
vrunner infobase extensions list [-v] [опции]
ОпцияОписание
--verbose, -vПодробный вывод: таблица с параметрами расширений (по умолчанию - только имена)

check

Проверяет применимость установленных расширений без их загрузки. Без аргумента NAME проверяются все расширения, иначе - только указанное.

bash
vrunner infobase extensions check [опции] [NAME]
АргументОписание
NAMEИмя конкретного расширения для проверки (по умолчанию - все)

create

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

bash
vrunner infobase extensions create [--overwrite] [опции] <NAME>
АргументОписание
NAMEИмя создаваемого расширения (обязательный)
ОпцияОписание
--overwriteПересоздать расширение, если оно уже существует

delete

Удаляет установленное расширение по имени. Если расширение не найдено - команда завершается ошибкой.

bash
vrunner infobase extensions delete [опции] <NAME>
АргументОписание
NAMEИмя удаляемого расширения (обязательный)

set-options

Изменяет свойства уже установленного расширения по имени без его перезагрузки. Меняются только явно переданные параметры; опущенные остаются без изменений.

bash
vrunner infobase extensions set-options [опции] <NAME>
АргументОписание
NAMEИмя расширения (обязательный)
ОпцияОписание
--activeАктивность расширения: true/false (если не указано - не меняется)
--safe-modeБезопасный режим: true/false (если не указано - не меняется)
--unsafe-action-protectionЗащита от опасных действий: true/false
--main-roles-for-allИспользовать основные роли для всех пользователей (8.3.15+): true/false

Все подкоманды поддерживают общие опции подключения и платформы (--ibconnection, --db-user, --db-pwd, --ibcmd, --v8version и др.). Опции указываются до позиционного аргумента NAME.

Подробнее о подключении и ibcmd: Подключение к базе данных →

Примеры

bash
# Список установленных расширений (только имена)
vrunner infobase extensions list --ibconnection /F./ib

# Подробная таблица расширений
vrunner infobase extensions list -v --ibconnection /F./ib

# Проверить применимость всех установленных расширений
vrunner infobase extensions check --ibconnection /F./ib

# Создать пустое расширение
vrunner infobase extensions create --ibconnection /F./ib МоёРасширение

# Пересоздать существующее расширение
vrunner infobase extensions create --overwrite --ibconnection /F./ib МоёРасширение

# Удалить расширение
vrunner infobase extensions delete --ibconnection /F./ib МоёРасширение

# Включить безопасный режим и снять защиту от опасных действий
vrunner infobase extensions set-options --safe-mode true \
  --unsafe-action-protection false \
  --ibconnection /F./ib МоёРасширение

repo - Работа с хранилищем конфигурации

Группа команд repo обеспечивает работу с хранилищем конфигурации 1С: подключение, загрузку изменений, управление пользователями, фиксацию изменений, блокировку и разблокировку.

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

Подключение и платформа

Большинство подкоманд repo работают с информационной базой и хранилищем. Строка подключения и опции СУБД описаны на странице Подключение к базе данных.

create

Создаёт новое хранилище конфигурации 1С.

bash
vrunner repo create [опции]

Примеры

bash
vrunner repo create \
  --storage-name D:/repos/MyProject \
  --storage-user Администратор \
  --storage-pwd secret \
  --ibconnection /F./ib

bind

Подключает информационную базу к хранилищу конфигурации.

bash
vrunner repo bind [опции]

Опции

ОпцияОписание
--ignore-already-boundНе считать ошибкой, если ИБ уже подключена к хранилищу
--do-not-replace-cfg-
--ibconnectionVRUNNER_IBCONNECTION
--db-userVRUNNER_DBUSER
--db-pwdVRUNNER_DBPWD
--ibcmd-
--v8versionVRUNNER_V8VERSION
--uccodeVRUNNER_UCCODE
--languageVRUNNER_LANGUAGE
--localeVRUNNER_LOCALE
--storage-nameVRUNNER_STORAGE_NAME
--storage-userVRUNNER_STORAGE_USER
--storage-pwdVRUNNER_STORAGE_PWD
--storage-verVRUNNER_STORAGE_VER
--settingsVRUNNER_SETTINGS

Подключение к базе данных →

Примеры

bash
vrunner repo bind \
  --storage-name D:/repos/MyProject \
  --storage-user DevUser \
  --storage-pwd secret \
  --ibconnection /F./ib \
  --ignore-already-bound

unbind

Отключает информационную базу от хранилища конфигурации.

bash
vrunner repo unbind [опции]

Примеры

bash
vrunner repo unbind \
  --ibconnection /F./ib \
  --storage-user DevUser \
  --storage-pwd secret

load

Обновляет конфигурацию информационной базы из хранилища (загружает последнюю версию).

bash
vrunner repo load [опции]

Примеры

bash
vrunner repo load \
  --ibconnection /F./ib \
  --storage-name D:/repos/MyProject \
  --storage-user DevUser \
  --storage-pwd secret \
  --storage-ver 42

commit

Помещает изменения в хранилище конфигурации (фиксирует захваченные объекты).

bash
vrunner repo commit [опции]

Опции

ОпцияОписание
--objectsПуть к XML-файлу со списком объектов для помещения
--commentКомментарий к фиксируемым объектам
--keep-lockedОставить объекты захваченными после помещения
--force-
--ibconnectionVRUNNER_IBCONNECTION
--db-userVRUNNER_DBUSER
--db-pwdVRUNNER_DBPWD
--ibcmd-
--v8versionVRUNNER_V8VERSION
--uccodeVRUNNER_UCCODE
--languageVRUNNER_LANGUAGE
--localeVRUNNER_LOCALE
--dbms-typeVRUNNER_DBMS_TYPE
--dbms-serverVRUNNER_DBMS_SERVER
--dbms-baseVRUNNER_DBMS_BASE
--dbms-userVRUNNER_DBMS_USER
--dbms-pwdVRUNNER_DBMS_PWD
--storage-nameVRUNNER_STORAGE_NAME
--storage-userVRUNNER_STORAGE_USER
--storage-pwdVRUNNER_STORAGE_PWD
--storage-verVRUNNER_STORAGE_VER
--settingsVRUNNER_SETTINGS

Подключение к базе данных →

Примеры

bash
vrunner repo commit \
  --ibconnection /F./ib \
  --storage-name D:/repos/MyProject \
  --storage-user DevUser \
  --storage-pwd secret \
  --comment "Задача #123: добавлены новые справочники"

save-cf

Сохраняет конфигурацию из хранилища в CF-файл.

bash
vrunner repo save-cf [опции] [OUT]

Аргументы

АргументОписание
OUTПуть к создаваемому CF-файлу

Примеры

bash
vrunner repo save-cf \
  --storage-name D:/repos/MyProject \
  --storage-user DevUser \
  --storage-pwd secret \
  --storage-ver 100 \
  ./build/MyApp.cf

create-user

Создаёт пользователя в хранилище конфигурации.

bash
vrunner repo create-user [опции]

copy-user

Копирует права пользователя хранилища от одного пользователя к другому.

bash
vrunner repo copy-user [опции]

lock

Устанавливает блокировку объектов хранилища для захвата.

bash
vrunner repo lock [опции]

unlock

Снимает захват объектов хранилища.

bash
vrunner repo unlock [опции]

cluster - Управление кластером серверов

Группа команд cluster обеспечивает управление кластером серверов 1С через утилиты rac/ras: получение информации, создание и удаление кластера, управление сеансами и фоновыми заданиями.

bash
vrunner cluster <подкоманда> [опции]

Подключение и администрирование

Все подкоманды cluster управляют кластером через утилиту rac/ras. Подробнее о строке подключения: Подключение к базе данных.

Опции, доступные всем подкомандам:

ОпцияПеременная окруженияОписание
--rasVRUNNER_RASСетевой адрес RAS (по умолчанию localhost:1545)
--racVRUNNER_RACПуть к утилите rac
--db-nameVRUNNER_IBNAMEИмя информационной базы в кластере
--cluster-Идентификатор кластера
--cluster-name-Имя кластера
--cluster-adminVRUNNER_CLUSTERADMIN_USERИмя администратора кластера
--cluster-pwdVRUNNER_CLUSTERADMIN_PWDПароль администратора кластера
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (для идентификации базы в кластере)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

TIP

cluster create дополнительно использует опции СУБД (--dbms-type, --dbms-server, --dbms-base, --dbms-user, --dbms-pwd).

info

Выводит информацию об информационной базе в кластере.

bash
vrunner cluster info [опции]

Примеры

bash
vrunner cluster info \
  --ras localhost:1545 \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd secret

create

Создаёт новый кластер серверов 1С.

bash
vrunner cluster create [опции]

remove

Удаляет кластер серверов 1С.

bash
vrunner cluster remove [опции]

session

Группа подкоманд для управления сеансами информационной базы.

bash
vrunner cluster session <подкоманда> [опции]

session lock

Блокирует новые сеансы для информационной базы.

bash
vrunner cluster session lock [опции]

Опции

ОпцияПеременная окруженияОписание
--uccodeVRUNNER_UCCODEКод допуска к заблокированной ИБ
--denied-message-Сообщение, отображаемое при попытке начать сеанс
--rasVRUNNER_RASСетевой адрес RAS (по умолчанию localhost:1545)
--racVRUNNER_RACПуть к утилите rac
--db-nameVRUNNER_IBNAMEИмя ИБ в кластере
--cluster-Идентификатор кластера
--cluster-name-Имя кластера
--cluster-adminVRUNNER_CLUSTERADMIN_USERИмя администратора кластера
--cluster-pwdVRUNNER_CLUSTERADMIN_PWDПароль администратора кластера
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

Примеры

bash
vrunner cluster session lock \
  --ras localhost:1545 \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd secret \
  --uccode MySecretCode \
  --denied-message "База закрыта на обслуживание. Используйте код: MySecretCode"

session unlock

Снимает блокировку новых сеансов для информационной базы.

bash
vrunner cluster session unlock [опции]

Примеры

bash
vrunner cluster session unlock \
  --ras localhost:1545 \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd secret

session kill

Принудительно завершает активные сеансы информационной базы. Перед завершением блокирует начало новых сеансов (отключается опцией --no-lock).

Завершение проверяется: rac завершает сеансы асинхронно, а зависшие сеансы могут не завершиться с первой попытки, поэтому после каждой попытки команда выдерживает паузу (3 секунды), перечитывает список и добивает оставшиеся сеансы повторно. Если после исчерпания лимита попыток сеансы остались — команда печатает их и завершается с кодом возврата 1.

bash
vrunner cluster session kill [опции]

Опции

ОпцияОписание
--no-lockНе блокировать новые сеансы перед завершением
--retryКоличество попыток завершения (по умолчанию 3). Не используется при заданном --timeout
--timeoutМаксимальное время завершения, сек: попытки повторяются до успеха или таймаута, --retry игнорируется
--filter-appОтбор по приложению сеанса. Можно указывать несколько раз или списком через ;
--filter-nameОтбор по имени пользователя ИБ. Можно указывать несколько раз или списком через ;
--filter-exceptИнвертировать отбор: завершать все сеансы, кроме подходящих под --filter-app/--filter-name

Условия объединяются по ИЛИ: сеанс попадает под отбор, если совпало приложение или пользователь. Сравнение регистронезависимое, без масок.

Допустимые значения --filter-app (проверяются при запуске): Designer (конфигуратор), 1CV8 (толстый клиент), 1CV8C (тонкий клиент), WebClient, WSConnection (веб-сервис), HTTPServiceConnection, COMConnection, WebServerExtension, BackgroundJob (фоновое задание), JobScheduler, SrvrConsole, RAS, AgentStandardCall.

Примеры

bash
# Завершить все сеансы
vrunner cluster session kill \
  --ras localhost:1545 \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd secret

# Завершить только сеансы Конфигуратора и регламентных пользователей
vrunner cluster session kill \
  --db-name MyInfobase \
  --filter-app Designer \
  --filter-name "регламент;администратор"

# Завершить все сеансы, кроме фоновых заданий
vrunner cluster session kill \
  --db-name MyInfobase \
  --filter-app BackgroundJob \
  --filter-except

# Добивать зависшие сеансы до 2 минут (вместо 3 попыток)
vrunner cluster session kill \
  --db-name MyInfobase \
  --timeout 120

session closed

Проверяет отсутствие активных сеансов информационной базы, а с опцией --timeout — дожидается их завершения. Если по итогам сеансы остались, печатает их список и завершается с ненулевым кодом возврата — удобно как шаг пайплайна: после session lock дождаться завершения фоновых заданий перед обновлением.

bash
vrunner cluster session closed [опции]

Опции

ОпцияОписание
--timeoutВремя ожидания завершения сеансов, сек: проверка повторяется каждые 3 секунды. По умолчанию 0 — одна проверка без ожидания
--filter-app / --filter-name / --filter-exceptОтбор сеансов — те же опции, что у session kill

Примеры

bash
# Убедиться, что сеансов нет (код возврата 1, если есть)
vrunner cluster session closed --db-name MyInfobase

# Дождаться (до 5 минут), пока фоновые задания сами завершатся
vrunner cluster session closed \
  --db-name MyInfobase \
  --filter-app BackgroundJob \
  --timeout 300

session list

Выводит список сеансов информационной базы с детализацией: номер сеанса, приложение, пользователь, компьютер, время начала и последней активности. Поддерживает те же опции отбора, что и kill/closed.

bash
vrunner cluster session list [опции]

Опции

ОпцияОписание
--connectionsДополнительно вывести соединения ИБ (номер, приложение, компьютер, номер сеанса, время установки) — в том числе зависшие соединения без сеанса
--filter-app / --filter-name / --filter-exceptОтбор сеансов — те же опции, что у session kill

Примеры

bash
# Все сеансы базы
vrunner cluster session list --db-name MyInfobase

# Только фоновые задания
vrunner cluster session list --db-name MyInfobase --filter-app BackgroundJob

# Сеансы вместе с соединениями (диагностика зависших)
vrunner cluster session list --db-name MyInfobase --connections

jobs

Группа подкоманд для управления фоновыми заданиями информационной базы.

bash
vrunner cluster jobs <подкоманда> [опции]

jobs lock

Блокирует выполнение фоновых заданий для информационной базы.

bash
vrunner cluster jobs lock [опции]

jobs unlock

Снимает блокировку фоновых заданий для информационной базы.

bash
vrunner cluster jobs unlock [опции]

Типичный сценарий: обновление под нагрузкой

bash
# 1. Заблокировать новые сеансы
vrunner cluster session lock \
  --ras localhost \
  --db-name MyIB \
  --cluster-admin admin \
  --cluster-pwd pwd \
  --uccode UPDATE2026

# 2. Заблокировать фоновые задания
vrunner cluster jobs lock \
  --ras localhost \
  --db-name MyIB \
  --cluster-admin admin \
  --cluster-pwd pwd

# 3. Дождаться (до 10 минут), пока запущенные фоновые задания сами доработают
vrunner cluster session closed \
  --ras localhost \
  --db-name MyIB \
  --cluster-admin admin \
  --cluster-pwd pwd \
  --filter-app BackgroundJob \
  --timeout 600

# 4. Завершить оставшиеся сеансы (зависшие добиваются ретраями до 2 минут)
vrunner cluster session kill \
  --ras localhost \
  --db-name MyIB \
  --cluster-admin admin \
  --cluster-pwd pwd \
  --timeout 120

# 5. ... обновление ИБ ...

# 6. Разблокировать задания и сеансы
vrunner cluster jobs unlock ...
vrunner cluster session unlock ...

run - Запуск 1С

Группа команд run обеспечивает запуск 1С:Предприятия и Конфигуратора с нужными параметрами из командной строки.

bash
vrunner run <подкоманда> [опции]

enterprise

Запускает 1С:Предприятие в указанном режиме.

bash
vrunner run enterprise [опции]

Опции

ОпцияПеременная окруженияОписание
--commandVRUNNER_COMMANDСтрока, передаваемая в параметр /C
--executeVRUNNER_EXECUTEПуть к внешней обработке 1С для запуска (поддерживается переменная $runnerRoot)
--url-Навигационная ссылка для перехода после старта
--no-wait-Не ожидать завершения запущенного процесса
--exitCodePath-Путь к файлу статуса выполнения (0=успех, 1=ошибка, 2=предупреждение)
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--nocacheuseVRUNNER_NOCACHEUSEНе использовать кеш платформы
--ordinaryappVRUNNER_ORDINARYAPPРежим запуска: 1 (толстый), 0 (тонкий), -1 (авто)
--additionalVRUNNER_ADDITIONALДополнительные параметры запуска платформы
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

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

Примеры

bash
# Запустить обработку для первоначального заполнения ИБ
vrunner run enterprise \
  --ibconnection /F./ib \
  --execute ./tools/InitIB.epf \
  --exitCodePath ./build/result.txt

# Запустить с командой и дождаться завершения
vrunner run enterprise \
  --ibconnection /F./ib \
  --command "StartFilling" \
  --v8version 8.3.24

# Запустить в фоне (не ждать завершения)
vrunner run enterprise \
  --ibconnection /F./ib \
  --execute ./tools/Server.epf \
  --no-wait

# Запустить с навигационной ссылкой
vrunner run enterprise \
  --ibconnection /F./ib \
  --url "e1cib/list/Catalog.Контрагенты"

Переменная $runnerRoot

В опции --execute поддерживается переменная $runnerRoot, которая раскрывается в корневой каталог vanessa-runner. Это позволяет использовать встроенные обработки инструмента.

designer

Запускает Конфигуратор 1С.

bash
vrunner run designer [опции]

Опции

ОпцияПеременная окруженияОписание
--additionalVRUNNER_ADDITIONALДополнительные параметры запуска конфигуратора
--no-wait-Не ожидать завершения
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--storage-nameVRUNNER_STORAGE_NAMEАдрес хранилища конфигурации
--storage-userVRUNNER_STORAGE_USERПользователь хранилища
--storage-pwdVRUNNER_STORAGE_PWDПароль хранилища
--storage-verVRUNNER_STORAGE_VERВерсия хранилища
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

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

Примеры

bash
# Запустить конфигуратор с дополнительными ключами
vrunner run designer \
  --ibconnection /F./ib \
  --additional "/DumpConfigToFiles ./src"

# Запустить и не ждать завершения
vrunner run designer \
  --ibconnection /F./ib \
  --no-wait

test - Запуск тестов

Группа команд test обеспечивает запуск автоматизированного тестирования 1С-конфигураций: модульного (xUnit) и функционального (BDD) через фреймворк Vanessa-ADD, а также модульного через фреймворк YAxUnit.

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

Все три подкоманды умеют собирать покрытие кода тестами — см. Сбор покрытия тестами →.

xunit

Запускает модульные тесты через обработку xddTestRunner.epf (xUnit for 1C).

bash
vrunner test xunit [опции] [TESTSPATH]

Аргументы

АргументПеременная окруженияОписание
TESTSPATHVRUNNER_TESTSPATHПуть к каталогу или файлу с тестами, или к встроенным тестам (с --config-tests). Поддерживается макрос $addRoot — каталог установки vanessa-add

Опции

ОпцияПеременная окруженияОписание
--workspaceVRUNNER_WORKSPACEПуть к папке проекта для макросов $workspace (по умолчанию - текущий)
--pathxunitVRUNNER_PATHXUNITПуть к внешней обработке xddTestRunner.epf (по умолчанию из vanessa-add)
--reportsxunitVRUNNER_REPORTSXUNITПараметры формирования отчётов: Формат{Путь};Формат{Путь}подробнее
--reportxunit-Путь к каталогу с отчётом jUnit (устарел, используйте --reportsxunit)
--xddExitCodePath-Путь к файлу статуса (0=пройдены, 1=не пройдены)
--xddConfig-Путь к конфигурационному файлу xUnitFor1c
--testclient-Параметры тест-клиента: Пользователь:Пароль:Порт
--testclient-additional-Дополнительные параметры запуска тест-клиента
--config-testsVRUNNER_CONFIG_TESTSЗагружать тесты, встроенные в конфигурацию
--no-wait-Не ожидать завершения
--xdddebug-Выводить отладочные сообщения при прогоне
--no-shutdown-Не завершать 1С после выполнения тестов
--clear-reports-Очищать каталоги отчётов перед запуском
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--nocacheuseVRUNNER_NOCACHEUSEНе использовать кеш платформы
--ordinaryappVRUNNER_ORDINARYAPPРежим запуска: 1 (толстый), 0 (тонкий), -1 (авто)
--additionalVRUNNER_ADDITIONALДополнительные параметры запуска платформы
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

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

Формат reportsxunit

Параметр --reportsxunit задаёт список отчётов через точку с запятой:

junit{./build/reports/junit.xml};allure{./build/reports/allure}

Краткие форматы (регистр не важен) и соответствующие генераторы Vanessa-ADD:

Краткий форматГенератор Vanessa-ADD
junitГенераторОтчетаJUnitXML
allureГенераторОтчетаAllureXMLВерсия2
jsonГенераторОтчетаJSON
mxlГенераторОтчетаMXL
genericexecutionГенераторОтчетаGenericExecution

Вместо краткого формата можно указать полное имя генератора Vanessa-ADD (ГенераторОтчетаJUnitXML{путь} или GenerateReportJUnitXML{путь}) — в том числе генератора-плагина, которого нет в кратком списке.

Примеры

bash
# Запустить тесты и сформировать JUnit-отчёт
vrunner test xunit \
  --ibconnection /F./ib \
  --reportsxunit "jUnit{./build/reports/junit.xml}" \
  ./tests

# Тесты, встроенные в конфигурацию
vrunner test xunit \
  --ibconnection /F./ib \
  --config-tests \
  --reportsxunit "jUnit{./build/reports/junit.xml}"

# Встроенные дымовые тесты vanessa-add (макрос $addRoot)
vrunner test xunit \
  --ibconnection /F./ib \
  '$addRoot/tests/smoke'

# Запустить конкретный файл с тестами
vrunner test xunit \
  --ibconnection /F./ib \
  --xddExitCodePath ./build/status.txt \
  ./tests/MyTests.os

# С тест-клиентом (клиент-серверный режим)
vrunner test xunit \
  --ibconnection "/SMyServer\MyIB" \
  --testclient "Тест:password:1538" \
  --reportsxunit "jUnit{./build/reports/junit.xml}" \
  ./tests

yaxunit

Запускает модульные тесты через фреймворк YAxUnit. В отличие от xUnit, YAxUnit не требует внешней обработки-раннера: движок фреймворка и сами тесты подключаются к информационной базе как расширения конфигурации и исполняются внутри 1С:Предприятия.

bash
vrunner test yaxunit [опции]

Предварительная подготовка ИБ

Перед запуском в информационную базу должны быть загружены через cfe load (обновление конфигурации БД к базе выполняется по умолчанию):

  1. расширение-движок YAxUnit (.cfe со страницы релизов проекта);
  2. расширение(я) с тестовыми модулями — общими модулями, регистрирующими тесты в процедуре ИсполняемыеСценарии.

Без применения к базе (не указывайте --no-update-db) модули тестов не попадут в метаданные сеанса, и YAxUnit их не обнаружит. Движку также требуется отключённый безопасный режим (у загруженного расширения он выключен по умолчанию) — иначе он не сможет прочитать файл запуска.

Опции

Конфигурацию запуска YAxUnit можно задать двумя способами: передать готовый файл через --yaxunit-config (используется как есть) либо собрать её из опций фильтрации и отчёта, перечисленных ниже.

ОпцияПеременная окруженияОписание
--yaxunit-configVRUNNER_YAXUNIT_CONFIGПуть к готовому yaxunit.json — используется как есть, опции фильтрации и отчёта игнорируются
--extVRUNNER_YAXUNIT_EXTИмена расширений с тестами через запятую (filter.extensions)
--modules-Имена модулей с тестами через запятую (filter.modules)
--tests-Полные имена тестов через запятую в формате Модуль.Тест (filter.tests)
--tags-Теги тестов через запятую (filter.tags)
--suites-Имена наборов тестов через запятую (filter.suites)
--reportVRUNNER_YAXUNIT_REPORTПуть к файлу или каталогу отчёта (reportPath); если не указан — отчёт jUnit формируется во временном файле
--report-format-Формат отчёта: jUnit (по умолчанию), JSON, allure
--exitcodeVRUNNER_YAXUNIT_EXITCODEПуть к файлу кода возврата тестирования (0 - пройдены, 1 - есть ошибки)
--project-pathVRUNNER_PROJECT_PATHКорневой каталог проекта для зависимостей ФайлыПроекта (projectPath); по умолчанию - каталог запуска vrunner
--workspaceVRUNNER_WORKSPACEРабочий каталог пространства YAxUnit (workspacePath)
--show-report-Открывать форму отчёта после тестов (по умолчанию выключено)
--no-close-Не закрывать 1С:Предприятие после выполнения тестов
--no-wait-Не ожидать завершения
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--nocacheuseVRUNNER_NOCACHEUSEНе использовать кеш платформы
--ordinaryappVRUNNER_ORDINARYAPPРежим запуска: 1 (толстый), 0 (тонкий), -1 (авто)
--additionalVRUNNER_ADDITIONALДополнительные параметры запуска платформы
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

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

Фильтрация тестов

Опции --ext, --modules, --tests, --tags, --suites формируют секцию filter файла запуска YAxUnit и комбинируются по «И»: например, --ext МоиТесты --tags smoke запустит тесты с тегом smoke только из расширения МоиТесты. Если не задана ни одна опция фильтра, выполняются все обнаруженные тесты. При указании --yaxunit-config опции фильтрации не применяются — фильтр берётся из переданного файла.

Результат и код возврата

Команда работоспособна с минимумом параметров — достаточно строки подключения (расширения YAxUnit и тестов должны быть загружены в ИБ). Если путь к отчёту не задан, отчёт jUnit формируется во временном файле, после чего команда разбирает его и печатает короткое саммари в консоль:

YAxUnit: всего 12, успешно 11, провалено 1, ошибок 0, пропущено 0
  [x] МойМодуль.ПроверкаСложения [Сервер] — ожидали 4, получили 5

Код возврата команды: 0 — все тесты пройдены; ненулевой — есть провалы/ошибки либо отчёт не сформирован (например, не загружены движок или расширения с тестами). Это позволяет использовать команду в CI без дополнительных опций. Авто-саммари формируется для формата jUnit (по умолчанию); для прочих форматов выводится только путь к отчёту.

Примеры

bash
# Минимальный запуск: только подключение (отчёт во временный файл + саммари в консоль)
vrunner test yaxunit --ibconnection /F./ib

# Запустить все тесты из расширения и сформировать JUnit-отчёт
vrunner test yaxunit \
  --ibconnection /F./ib \
  --ext МоиТесты \
  --report ./build/reports/yaxunit.xml \
  --exitcode ./build/status.txt

# Запустить конкретные модули
vrunner test yaxunit \
  --ibconnection /F./ib \
  --modules МодульТестовКаталога,МодульТестовДокумента \
  --report ./build/reports/yaxunit.xml

# Только тесты с заданными тегами
vrunner test yaxunit \
  --ibconnection /F./ib \
  --ext МоиТесты \
  --tags "smoke,critical"

# Использовать готовый конфигурационный файл
vrunner test yaxunit \
  --ibconnection /F./ib \
  --yaxunit-config ./yaxunit.json

Формат yaxunit.json

Готовый файл запуска (--yaxunit-config) описывает фильтрацию тестов, формат и путь отчёта, файл кода возврата и поведение после прогона. Подробнее о формате см. в документации YAxUnit.

vanessa

Запускает функциональные тесты по сценариям в формате Gherkin через обработку bddRunner.epf (Vanessa-ADD BDD).

bash
vrunner test vanessa [опции]

Опции

ОпцияПеременная окруженияОписание
--feature-pathVRUNNER_FEATUREPATHПуть к каталогу с фичами или к конкретному файлу .feature. Передаётся в Vanessa-ADD через переменную окружения VANESSA_FEATUREPATH и переопределяет КаталогФич из настроек. Несовместим с --ordinaryapp 1
--bddrunner-pathVRUNNER_PATHVANESSAПуть к bddRunner.epf (по умолчанию из vanessa-add)
--vanessasettingsVRUNNER_VANESSASETTINGSПуть к файлу настроек фреймворка тестирования
--workspaceVRUNNER_WORKSPACEПуть к папке проекта
--tags-ignore-Теги для игнорирования файлов фич
--tags-filter-Теги для фильтрации файлов фич
--additional-keys-Дополнительные параметры, передаваемые в /C
--no-wait-Не ожидать завершения
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать ibcmd вместо Конфигуратора
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С
--uccodeVRUNNER_UCCODEКод разрешения блокировки
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)
--nocacheuseVRUNNER_NOCACHEUSEНе использовать кеш платформы
--ordinaryappVRUNNER_ORDINARYAPPРежим запуска: 1 (толстый), 0 (тонкий), -1 (авто)
--additionalVRUNNER_ADDITIONALДополнительные параметры запуска платформы
--settingsVRUNNER_SETTINGSПуть к файлу настроек (JSON)

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

Примеры

bash
# Запустить все фичи
vrunner test vanessa \
  --ibconnection /F./ib \
  --feature-path ./features \
  --vanessasettings ./vb-params.json

# Запустить с фильтром по тегам
vrunner test vanessa \
  --ibconnection /F./ib \
  --feature-path ./features \
  --tags-filter "@smoke" \
  --tags-ignore "@wip"

# Запустить конкретную фичу
vrunner test vanessa \
  --ibconnection /F./ib \
  --feature-path ./features/Catalog.feature

vanessasettings

Файл настроек vb-params.json содержит конфигурацию Vanessa-ADD: пути к отчётам, настройки скриншотов, тайм-ауты и другие параметры. Документацию по формату файла см. в репозитории vanessa-add.

Покрытие тестами

Все три подкоманды (xunit, yaxunit, vanessa) умеют собирать покрытие кода тестами в XML-отчёт (genericCoverage, Cobertura, Clover). Сбор включается одной опцией — --coverage-report. Как это устроено, форматы отчёта, работа с сервером отладки и клиент-серверными базами — в отдельной статье: Сбор покрытия тестами →.

bash
vrunner test yaxunit --ibconnection /F./ib --coverage-report ./build/coverage.xml

Опции покрытия

ОпцияПеременная окруженияОписание
--coverage-reportVRUNNER_COVERAGE_REPORTПуть к файлу отчёта. Если задан — покрытие собирается
--coverage-formatVRUNNER_COVERAGE_FORMATФормат отчёта: generic (по умолчанию), cobertura, clover
--coverage-srcVRUNNER_COVERAGE_SRCКаталог исходников конфигурации (по умолчанию ./src)
--coverage-ext-Каталог исходников расширения (можно указать несколько раз)
--coverage-serverVRUNNER_COVERAGE_SERVERСервер отладки [хост:]порт (пусто/порт — локально; хост:порт — существующий)
--coverage-dbgsVRUNNER_COVERAGE_DBGSПуть к серверу отладки dbgs (по умолчанию — по версии платформы)
--coverage-aliasVRUNNER_COVERAGE_ALIASИмя (алиас) ИБ для сессии отладки
--coverage-debug-pwdVRUNNER_COVERAGE_DEBUG_PWDПароль сервера отладки
--coverage-skip-linesVRUNNER_COVERAGE_SKIP_LINESНе считать процент покрытия (только исполненные строки)

Подробности, ограничения и примеры: Сбор покрытия тестами →.


Сбор покрытия тестами

Команды группы testtest xunit, test yaxunit, test vanessa — умеют собирать покрытие кода тестами: какие строки модулей конфигурации и расширений выполнились во время прогона. Результат сохраняется в XML-отчёт (genericCoverage, Cobertura или Clover), пригодный для SonarQube и других систем анализа.

Сбор включается единственной опцией — --coverage-report (путь к файлу отчёта). Всё остальное имеет разумные значения по умолчанию: сервер отладки поднимается автоматически, исходники ищутся в ./src, знаменатель для процента покрытия считается сам.

bash
vrunner test yaxunit --ibconnection /F./ib --coverage-report ./build/coverage.xml

Как это работает

Покрытие снимается по итогам прогона тестов через штатный сервер отладки 1С (dbgs):

  1. Поднимается сервер отладки dbgs (либо используется уже запущенный — см. Сервер отладки).
  2. Открывается сессия сбора нативной компонентой coveragebsl, тесты запускаются в 1С:Предприятии с подключённым отладчиком.
  3. Параллельно с прогоном во фоновом процессе считается знаменатель — все покрываемые (исполняемые) строки исходников утилитой lines-to-cover (можно отключить).
  4. После завершения тестов данные забираются, модули 1С сопоставляются с файлами исходников (XML-дамп Конфигуратора или 1С:EDT), исполненные строки объединяются с покрываемыми.
  5. Формируется файл отчёта в выбранном формате, а в консоль выводится процент покрытия.

Компоненты coverage и coveragebsl входят в поставку vanessa-runner и подключаются автоматически только при включённом покрытии — на обычные команды test они не влияют.

Пример вывода в консоль:

Включён сбор покрытия, отчёт: build/coverage.xml
...
Покрытие строк: 78% (покрыто 39 из 50)
Отчёт покрытия сформирован: build/coverage.xml

Опции

Опции покрытия одинаковы для всех трёх подкоманд test.

ОпцияПеременная окруженияОписание
--coverage-reportVRUNNER_COVERAGE_REPORTПуть к файлу отчёта. Если задан — покрытие собирается (единственный включатель)
--coverage-formatVRUNNER_COVERAGE_FORMATФормат отчёта: generic (по умолчанию), cobertura, clover
--coverage-srcVRUNNER_COVERAGE_SRCКаталог исходников конфигурации для сопоставления модулей (по умолчанию ./src, рекурсивный поиск)
--coverage-ext-Каталог исходников расширения для покрытия. Можно указать несколько раз
--coverage-serverVRUNNER_COVERAGE_SERVERСервер отладки [хост:]порт. Пусто/порт — поднять свой локально; хост:порт — подключиться к уже запущенному
--coverage-dbgsVRUNNER_COVERAGE_DBGSПуть к исполняемому файлу сервера отладки dbgs (по умолчанию определяется по версии платформы)
--coverage-aliasVRUNNER_COVERAGE_ALIASИмя (алиас) ИБ для сессии отладки (по умолчанию определяется из строки подключения)
--coverage-debug-pwdVRUNNER_COVERAGE_DEBUG_PWDПароль сервера отладки (если он защищён паролем)
--coverage-skip-linesVRUNNER_COVERAGE_SKIP_LINESНе рассчитывать покрываемые строки и процент покрытия (собрать только исполненные строки)

Покрытие работает поверх обычного запуска теста, поэтому доступны все опции подключения и платформы соответствующей подкоманды (--ibconnection, --v8version, --ibcmd и т. д.). Подробнее: Подключение к базе данных →.

Форматы отчёта

Опция --coverage-format задаёт формат XML-отчёта:

ФорматЗначениеНазначение
genericCoveragegeneric (по умолчанию)Импорт в SonarQube (sonar.coverageReportPaths)
CoberturacoberturaCobertura XML (Jenkins, GitLab CI и др.)
ClovercloverClover XML

Каталог для файла отчёта создаётся автоматически, если его ещё нет.

Сервер отладки

Покрытие снимается через сервер отладки dbgs, входящий в поставку платформы 1С. Поведение задаёт опция --coverage-server [хост:]порт:

  • не задана или указан только порт (1550, :9000) — vanessa-runner поднимает свой сервер отладки локально. Если порт не указан — берётся 1550; если он занят, порт подбирается автоматически. Если порт указан явно и занят — команда завершается ошибкой;
  • указан хост (server:1550, server) — vanessa-runner подключается к уже запущенному серверу отладки, в том числе на другой машине.

Путь к dbgs определяется автоматически по версии платформы; переопределить его можно опцией --coverage-dbgs.

Клиент-серверные базы

Для серверной ИБ код тестов исполняется в процессе кластера (rphost), а не в клиенте. Чтобы собрать покрытие серверного кода, сервер отладки должен быть доступен кластеру, а на кластере должна быть разрешена отладка (настройка кластера вне контроля команды test). Обычно сервер отладки поднимают на машине кластера и подключаются к нему через --coverage-server <хост>:<порт>. Полнота покрытия серверных модулей зависит от этих настроек — это общее ограничение всех инструментов покрытия 1С.

Сопоставление с исходниками

Чтобы перевести «модуль 1С → строки» в «файл исходника → строки», нужны исходники — в формате XML-дампа Конфигуратора или 1С:EDT (формат определяется автоматически):

  • конфигурация — каталог из --coverage-src (по умолчанию ./src, поиск рекурсивный);
  • расширения — обнаруживаются в том же каталоге, а также задаются явно через --coverage-ext (опцию можно повторять для нескольких расширений).

Если исходники не найдены или ни один покрытый модуль не сопоставлен с файлом, отчёт не формируется, а в лог выводится предупреждение с подсказкой проверить --coverage-src.

Процент покрытия

coveragebsl даёт только исполненные строки. Чтобы посчитать процент, нужен знаменатель — все покрываемые (исполняемые) строки модулей. Их считает внешняя утилита lines-to-cover (репозиторий Segate-ekb/Lines_to_cover_1c): самодостаточный бандл со своей JRE — устанавливать Java не нужно.

Утилита скачивается автоматически при первом запуске покрытия (в кеш) и переиспользуется в дальнейшем. Расчёт идёт в фоне параллельно с прогоном тестов; в итоге строки, прочитанные утилитой, но не исполненные, попадают в отчёт как непокрытые (covered="false"), а в консоль выводится строка Покрытие строк: N% (покрыто X из Y).

Флаг --coverage-skip-lines отключает этот расчёт: отчёт содержит только исполненные строки, без процента и без непокрытых строк. Полезно, когда важен лишь факт исполнения строк либо нет доступа в интернет для загрузки утилиты.

Установка lines-to-cover вручную

Если автозагрузка недоступна (нет доступа в интернет, корпоративный прокси), скачайте релиз утилиты вручную, распакуйте так, чтобы получился каталог с подпапками bin/ и lib/, и укажите его настройкой. Настройки задаются в файле настроек или переменными окружения (см. Файл настроек):

НастройкаПо умолчаниюОписание
coverage.lines-tool.home-Путь к готовому каталогу образа утилиты (bin/, lib/). Задан — загрузка не выполняется
coverage.lines-tool.version0.1.0Версия утилиты для автозагрузки
coverage.lines-tool.base-urlGitHub ReleasesБазовый URL для загрузки релиза
coverage.lines-tool.tools-dirкеш tempКаталог кеша установленных утилит

Альтернатива — просто отключить процент флагом --coverage-skip-lines.

Ограничения

  • Несовместимо с --no-wait. Клиент 1С должен завершиться до сбора данных, поэтому при --coverage-report вместе с --no-wait команда завершается ошибкой.
  • Серверный код покрывается только при разрешённой отладке на кластере (см. Клиент-серверные базы).

Примеры

bash
# Простейший запуск: покрытие конфигурации из ./src
vrunner test yaxunit \
  --ibconnection /F./ib \
  --coverage-report ./build/coverage.xml

# Покрытие конфигурации и расширения с тестами, формат Cobertura
vrunner test yaxunit \
  --ibconnection /F./ib \
  --ext МоиТесты \
  --coverage-report ./build/coverage.xml \
  --coverage-format cobertura \
  --coverage-src ./src \
  --coverage-ext ./tests-ext/src

# Только исполненные строки, без расчёта процента (без загрузки lines-to-cover)
vrunner test xunit \
  --ibconnection /F./ib \
  --coverage-report ./build/coverage.xml \
  --coverage-skip-lines \
  ./tests

# Клиент-серверная ИБ: подключиться к серверу отладки на машине кластера
vrunner test yaxunit \
  --ibconnection "/S1c-server\MyBase" \
  --coverage-report ./build/coverage.xml \
  --coverage-server 1c-server:1550

Интеграция с SonarQube

Формат по умолчанию (generic) — это genericCoverage. Укажите путь к отчёту в свойстве sonar.coverageReportPaths анализатора SonarQube, чтобы покрытие подтянулось в проект.


validate - Проверка конфигурации

Группа команд validate обеспечивает статическую проверку конфигурации 1С: синтаксическую проверку через конфигуратор и проверку в EDT.

bash
vrunner validate <подкоманда> [опции]

syntax-check

Выполняет проверку синтаксиса конфигурации в указанных режимах через конфигуратор. Формирует отчёт в формате JUnit XML, совместимый с системами CI/CD.

bash
vrunner validate syntax-check [опции]

Опции

ОпцияПо умолчаниюПеременная окруженияОписание
--mode--Режимы проверки (можно указать несколько через повторение опции)
--junitpath-VRUNNER_JUNITPATHПуть к файлу отчёта JUnit XML
--exception-file--Путь к файлу исключений (UTF-8, по одному исключению на строку)
--groupbymetadatafalse-Группировать ошибки по объектам метаданных
--testsuitenamesyntax-check-Имя тестового набора в JUnit-отчёте
--ibconnection-VRUNNER_IBCONNECTIONСтрока подключения к ИБ (/F<путь> - файловая, /S<сервер>\<база> - серверная)
--db-user-VRUNNER_DBUSERПользователь ИБ
--db-pwd-VRUNNER_DBPWDПароль пользователя ИБ
--ibcmd--Использовать ibcmd вместо Конфигуратора
--v8version-VRUNNER_V8VERSIONВерсия платформы 1С
--uccode-VRUNNER_UCCODEКод разрешения блокировки
--language-VRUNNER_LANGUAGEЯзык платформы
--locale-VRUNNER_LOCALEЯзык сеанса (локаль)
--dbms-type-VRUNNER_DBMS_TYPEТип СУБД: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase. Нужен при --ibcmd для серверной ИБ
--dbms-server-VRUNNER_DBMS_SERVERАдрес сервера СУБД
--dbms-base-VRUNNER_DBMS_BASEИмя базы данных СУБД
--dbms-user-VRUNNER_DBMS_USERПользователь СУБД
--dbms-pwd-VRUNNER_DBMS_PWDПароль СУБД
--storage-name-VRUNNER_STORAGE_NAMEАдрес хранилища
--storage-user-VRUNNER_STORAGE_USERПользователь хранилища
--storage-pwd-VRUNNER_STORAGE_PWDПароль хранилища
--storage-ver-VRUNNER_STORAGE_VERВерсия хранилища
--settings-VRUNNER_SETTINGSПуть к файлу настроек (JSON)

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

Доступные режимы проверки (--mode)

РежимОписание
ThinClientТонкий клиент
WebClientВеб-клиент
ServerСервер
ExternalConnectionВнешнее соединение
ExternalConnectionServerВнешнее соединение (клиент-серверный)
MobileClientМобильный клиент
MobileClientStandaloneМобильный клиент (автономный)
MobileAppClientМобильное приложение (клиент)
MobileAppServerМобильное приложение (сервер)
ThickClientManagedApplicationТолстый клиент (управляемое приложение)
ThickClientServerManagedApplicationТолстый клиент (управляемое, клиент-серверный)
ThickClientOrdinaryApplicationТолстый клиент (обычное приложение)
ThickClientServerOrdinaryApplicationТолстый клиент (обычное, клиент-серверный)
ConfigLogIntegrityПроверка логической целостности конфигурации
IncorrectReferencesПоиск некорректных ссылок
DistributiveModulesПоставка модулей без исходных текстов
UnreferenceProceduresПоиск неиспользуемых процедур и функций
HandlersExistenceПроверка существования назначенных обработчиков
EmptyHandlersПоиск пустых обработчиков
ExtendedModulesCheckРасширенная проверка модулей
CheckUseModalityПоиск использования модальности
CheckUseSynchronousCallsПоиск синхронных вызовов
UnsupportedFunctionalПоиск неподдерживаемой функциональности
AllExtensionsПроверка всех расширений

Примеры

bash
# Проверить синтаксис для нескольких режимов клиента
vrunner validate syntax-check \
  --ibconnection /F./ib \
  --mode ThinClient \
  --mode Server \
  --mode WebClient \
  --junitpath ./build/reports/syntax.xml

# Проверить с группировкой по метаданным и файлом исключений
vrunner validate syntax-check \
  --ibconnection /F./ib \
  --mode ThinClient \
  --mode Server \
  --junitpath ./build/reports/syntax.xml \
  --groupbymetadata \
  --exception-file ./syntax-check-exceptions.txt \
  --testsuitename "MyProject syntax check"

Файл исключений

Файл исключений (--exception-file) позволяет игнорировать известные/допустимые ошибки. Каждая строка файла - одна строка из сообщения об ошибке, которую нужно пропустить. Кодировка: UTF-8.

Интеграция с CI

JUnit-отчёт совместим с GitLab CI, Jenkins, GitHub Actions и другими системами CI/CD. Укажите путь к файлу в настройках сборки для публикации результатов проверки.

edt

Выполняет штатную проверку проекта средствами 1С:EDT (1cedtcli validate). Команда запускает проверку, разбирает выгруженные замечания, печатает отчёт и при наличии замечаний нужного уровня важности завершается с ошибкой. Дополнительно может сформировать отчёт в формате JUnit XML для CI/CD.

bash
vrunner validate edt [опции]

Опции

ОпцияПо умолчаниюПеременная окруженияОписание
--src / -sтекущий каталогVRUNNER_SRCКаталог EDT-проекта
--min-severitymajor-Минимальный уровень замечаний, при котором команда завершается с ошибкой: critical, major, minor, none
--junitpath-VRUNNER_JUNITPATHПуть к файлу отчёта JUnit XML
--testsuitenameedt-Имя тестового набора в JUnit-отчёте
--src-formatauto-Формат каталога исходников: auto, edt, xml
--edt-version-VRUNNER_EDT_VERSIONВерсия установленной 1С:EDT (например 2024.1) для выбора среди нескольких
--edt-workspace-VRUNNER_EDT_WORKSPACEБазовый каталог рабочей области EDT (по умолчанию - временный)
--edt-timeout-VRUNNER_EDT_TIMEOUTТаймаут операций 1cedtcli в секундах (на больших конфигурациях увеличьте)
--settings-VRUNNER_SETTINGSПуть к файлу настроек (JSON)

Подробнее о форматах исходников, поиске 1cedtcli и опциях --edt-*: Исходники в формате 1С:EDT →

Уровни важности (--min-severity)

ЗначениеПоведение
criticalзавершаться с ошибкой только при критических замечаниях
majorзначительные и критические (по умолчанию)
minorвсе замечания, включая незначительные
noneне завершать с ошибкой, только вывести отчёт

Примеры

bash
# Проверить EDT-проект в текущем каталоге (порог по умолчанию - major)
vrunner validate edt

# Проверить конкретный проект и сформировать JUnit-отчёт для CI
vrunner validate edt \
  --src ./edt-project \
  --edt-version 2024.1 \
  --junitpath ./build/reports/edt.xml

# Не падать на замечаниях, только собрать отчёт
vrunner validate edt --src ./edt-project --min-severity none --junitpath ./build/reports/edt.xml

Интеграция с CI

Как и syntax-check, команда формирует JUnit-совместимый отчёт. Уровнем --min-severity управляется, какие замечания считаются блокирующими (приводят к падению сборки).


vrunner compile / vrunner compileconf

Собирает конфигурацию 1С из XML-исходников в файл .cf.

Изменено в 3.0

vrunner compile и vrunner compileconf заменены командой vrunner cf compile — вошли в группу cf. Путь к выходному файлу стал обязательным позиционным аргументом.

Документация cf compile →

Изменения

Аспект2.x3.0
Командаvrunner compile / vrunner compileconfvrunner cf compile <OUT>
Выходной файл--out ./build/1Cv8.cfПозиционный аргумент OUT (обязательный)
Каталог исходников--src ./cf--s ./src или --src ./src
--ibconnectionОбязательный (для конфигуратора)Опциональный — если не указан, создаётся временная ИБ
--ibcmdНе поддерживалсяПоддерживается — быстрее конфигуратора
Секция в настройках"compile" / "compileconf""vrunner.cf.compile"

Примеры

Было (2.x)

bash
# Через конфигуратор
vrunner compile \
  --src ./cf \
  --out ./build/1Cv8.cf \
  --ibconnection /FD:/bases/temp \
  --v8version 8.3.24

Стало (3.0)

bash
# Через ibcmd (рекомендуется — не требует запуска конфигуратора)
vrunner cf compile ./build/1Cv8.cf \
  --s ./cf \
  --ibcmd

# Через конфигуратор с явным подключением
vrunner cf compile ./build/1Cv8.cf \
  --s ./cf \
  --ibconnection /FD:/bases/temp \
  --v8version 8.3.24

Файл настроек

Было (vrunner.json)

json
{
  "compile": {
    "--src": "./cf",
    "--out": "./build/1Cv8.cf"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "cf": {
      "compile": {
        "src": "./cf"
      }
    }
  }
}

TIP

Путь к выходному .cf файлу задаётся только в командной строке как позиционный аргумент — он не может быть задан в файле настроек.


vrunner compileepf

Собирает внешние обработки .epf/.erf из XML-исходников.

Изменено в 3.0

vrunner compileepf переименована в vrunner epf compile — вошла в группу epf. Позиционные аргументы inputPath/outputPath заменены: inputPath стал необязательным позиционным SRC, outputPath стал опцией --out.

Документация epf compile →

Изменения

Аспект2.x3.0
Командаvrunner compileepf <inputPath> <outputPath>vrunner epf compile [SRC] --out <dir>
Каталог исходниковПозиционный inputPathНеобязательный позиционный SRC
Каталог выводаПозиционный outputPathОпция --out
Рекурсивный поискНе поддерживался--recursive / -R
--ibcmdНе поддерживалсяПоддерживается
Секция в настройках"compileepf""vrunner.epf.compile"

Примеры

Было (2.x)

bash
# Собрать обработки из src/epf в build/epf
vrunner compileepf src/epf build/epf \
  --ibconnection /F./build/ibservice \
  --v8version 8.3.24

# Несколько каталогов — несколько вызовов
vrunner compileepf src/tools tools/epf/utils
vrunner compileepf src/tests tests/smoke

Стало (3.0)

bash
# Собрать обработки из ./epf в ./build/epf
vrunner epf compile ./epf --out ./build/epf --ibcmd

# Рекурсивно обработать все подкаталоги
vrunner epf compile ./epf -R --out ./build/epf --ibcmd

# Через конфигуратор
vrunner epf compile ./epf \
  --out ./build/epf \
  --ibconnection /F./build/ibservice \
  --v8version 8.3.24

Файл настроек

Было (vrunner.json)

json
{
  "compileepf": {
    "--ibconnection": "/F./build/ibservice",
    "inputPath": "./epf",
    "outputPath": "./build/epf"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "epf": {
      "compile": {
        "ibconnection": "/F./build/ibservice",
        "out": "./build/epf"
      }
    }
  }
}

TIP

Значения inputPath и outputPath из конфига 2.x не переносятся автоматически. Каталог исходников (SRC) можно задать только в командной строке; --out можно задать в autumn-properties.json.


vrunner compileext

Собирает расширение конфигурации (.cfe) из XML-исходников.

Изменено в 3.0

vrunner compileext переименована в vrunner cfe compile — вошла в группу cfe. Путь к выходному .cfe файлу стал обязательным позиционным аргументом. Параметр extensionName переименован в --extension-name.

Документация cfe compile →

Изменения

Аспект2.x3.0
Командаvrunner compileext <inputPath>vrunner cfe compile <OUT.cfe>
Выходной .cfe файл(определялся автоматически или через опцию)Обязательный позиционный OUT
Каталог исходниковinputPath--s / --src
Имя расширенияextensionName (в конфиге)--extension-name (обязательный)
--ibcmdНе поддерживалсяПоддерживается
Секция в настройках"compileext""vrunner.cfe.compile"

Примеры

Было (2.x)

bash
vrunner compileext ./cfe/Доработки \
  --extensionName Доработки \
  --ibconnection /F./build/ibservice \
  --v8version 8.3.24

Стало (3.0)

bash
# Через ibcmd (рекомендуется)
vrunner cfe compile ./build/Доработки.cfe \
  --s ./cfe/Доработки \
  --extension-name Доработки \
  --ibcmd

# Через конфигуратор
vrunner cfe compile ./build/Доработки.cfe \
  --s ./cfe/Доработки \
  --extension-name Доработки \
  --ibconnection /F./build/ibservice \
  --v8version 8.3.24

Файл настроек

Было (vrunner.json)

json
{
  "compileext": {
    "inputPath": "./cfe/Доработки",
    "extensionName": "Доработки"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "cfe": {
      "compile": {
        "src": "./cfe/Доработки",
        "extension-name": "Доработки"
      }
    }
  }
}

TIP

Путь к выходному .cfe файлу (OUT) задаётся только в командной строке как позиционный аргумент — он не может быть задан в файле настроек.


vrunner decompile / vrunner decompileconf

Разбирает файл конфигурации .cf в XML-исходники.

Изменено в 3.0

vrunner decompile и vrunner decompileconf заменены командой vrunner cf decompile — вошли в группу cf. Каталог выгрузки стал обязательным позиционным аргументом. Опция входного файла переименована из --in в --cf-file.

Документация cf decompile →

Изменения

Аспект2.x3.0
Командаvrunner decompile / vrunner decompileconfvrunner cf decompile <OUT>
Каталог выгрузки--out ./cfПозиционный аргумент OUT (обязательный)
Входной CF-файл--in ./build/1Cv8.cf--cf-file ./build/1Cv8.cf
--ibcmdНе поддерживалсяПоддерживается
Секция в настройках"decompile" / "decompileconf""vrunner.cf.decompile"

Примеры

Было (2.x)

bash
vrunner decompile \
  --in ./build/1Cv8.cf \
  --out ./cf \
  --ibconnection /FD:/bases/temp \
  --v8version 8.3.24

Стало (3.0)

bash
# Через ibcmd (рекомендуется)
vrunner cf decompile ./cf \
  --cf-file ./build/1Cv8.cf \
  --ibcmd

# Через конфигуратор
vrunner cf decompile ./cf \
  --cf-file ./build/1Cv8.cf \
  --ibconnection /FD:/bases/temp \
  --v8version 8.3.24

Файл настроек

Было (vrunner.json)

json
{
  "decompile": {
    "--in": "./build/1Cv8.cf",
    "--out": "./cf"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "cf": {
      "decompile": {
        "cf-file": "./build/1Cv8.cf"
      }
    }
  }
}

TIP

Каталог для выгрузки (OUT) задаётся только в командной строке как позиционный аргумент — он не может быть задан в файле настроек.


vrunner decompileepf

Разбирает файлы внешних обработок .epf/.erf в XML-исходники.

Изменено в 3.0

vrunner decompileepf переименована в vrunner epf decompile — вошла в группу epf. Позиционные аргументы inputPath/outputPath заменены: inputPath стал обязательным SRC, outputPath стал опцией --out.

Документация epf decompile →

Изменения

Аспект2.x3.0
Командаvrunner decompileepf <inputPath> <outputPath>vrunner epf decompile <SRC> [--out <dir>]
Источник (EPF-файл или каталог)Позиционный inputPathОбязательный позиционный SRC
Каталог выводаПозиционный outputPathОпция --out
Рекурсивный поискНе поддерживался--recursive / -R
--ibcmdНе поддерживалсяПоддерживается
Секция в настройках"decompileepf""vrunner.epf.decompile"

Примеры

Было (2.x)

bash
vrunner decompileepf build/epf epf \
  --ibconnection /F./build/ibservice \
  --v8version 8.3.24

Стало (3.0)

bash
# Разобрать все EPF из каталога
vrunner epf decompile ./build/epf --out ./epf --ibcmd

# Рекурсивно
vrunner epf decompile ./build/epf -R --out ./epf --ibcmd

# Разобрать один файл
vrunner epf decompile ./build/epf/MyReport.epf \
  --out ./epf/MyReport \
  --ibconnection /F./build/ibservice \
  --v8version 8.3.24

Файл настроек

Было (vrunner.json)

json
{
  "decompileepf": {
    "--ibconnection": "/F./build/ibservice",
    "inputPath": "./build/out/epf",
    "outputPath": "./epf"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "epf": {
      "decompile": {
        "ibconnection": "/F./build/ibservice",
        "out": "./epf"
      }
    }
  }
}

vrunner decompileext

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

Изменено в 3.0

vrunner decompileext переименована в vrunner cfe decompile — вошла в группу cfe. Каталог выгрузки стал обязательным позиционным аргументом. Параметр extensionName переименован в --extension-name, добавлен обязательный параметр --cfe-file.

Документация cfe decompile →

Изменения

Аспект2.x3.0
Командаvrunner decompileextvrunner cfe decompile <OUT>
Каталог выгрузкиoutputPath (в конфиге)Обязательный позиционный OUT
Входной .cfe файл(не требовался явно)--cfe-file (обязательный)
Имя расширенияextensionName (в конфиге)--extension-name (обязательный)
--ibcmdНе поддерживалсяПоддерживается
Секция в настройках"decompileext""vrunner.cfe.decompile"

Примеры

Было (2.x)

bash
vrunner decompileext \
  --extensionName Доработки \
  --outputPath ./cfe/Доработки \
  --ibconnection /F./build/ibservice \
  --v8version 8.3.24

Стало (3.0)

bash
# Через ibcmd (рекомендуется)
vrunner cfe decompile ./cfe/Доработки \
  --cfe-file ./build/Доработки.cfe \
  --extension-name Доработки \
  --ibcmd

# Через конфигуратор
vrunner cfe decompile ./cfe/Доработки \
  --cfe-file ./build/Доработки.cfe \
  --extension-name Доработки \
  --ibconnection /F./build/ibservice \
  --v8version 8.3.24

Файл настроек

Было (vrunner.json)

json
{
  "decompileext": {
    "extensionName": "Доработки",
    "outputPath": "./cfe/Доработки"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "cfe": {
      "decompile": {
        "cfe-file": "./build/Доработки.cfe",
        "extension-name": "Доработки"
      }
    }
  }
}

TIP

Каталог для выгрузки (OUT) задаётся только в командной строке как позиционный аргумент — он не может быть задан в файле настроек.


vrunner designer

Запускает конфигуратор 1С с нужными параметрами подключения.

Изменено в 3.0

vrunner designer стала подкомандой designer внутри группы run.

Документация run designer →

Изменения

Аспект2.x3.0
Командаvrunner designervrunner run designer
Опции подключенияПоддерживаютсяПоддерживаются
Опции хранилища--storage-name, --storage-user, --storage-pwdПоддерживаются
Секция в настройках"designer""vrunner.run.designer"

Примеры

Было (2.x)

bash
vrunner designer \
  --ibconnection /Sserver1c/devib \
  --storage-name tcp://serverstorage/erp \
  --storage-user bot \
  --storage-pwd 123 \
  --v8version 8.3.24

Стало (3.0)

bash
vrunner run designer \
  --ibconnection /Sserver1c/devib \
  --storage-name tcp://serverstorage/erp \
  --storage-user bot \
  --storage-pwd 123 \
  --v8version 8.3.24

Файл настроек

Было (vrunner.json)

json
{
  "designer": {
    "--ibconnection": "/Sserver1c/devib",
    "--storage-name": "tcp://serverstorage/erp",
    "--storage-user": "bot",
    "--storage-pwd": "123"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "run": {
      "designer": {
        "ibconnection": "/Sserver1c/devib",
        "storage-name": "tcp://serverstorage/erp",
        "storage-user": "bot",
        "storage-pwd": "123"
      }
    }
  }
}

vrunner init-dev / vrunner update-dev

vrunner init-dev создавал информационную базу, опционально загружая конфигурацию из хранилища 1С. vrunner update-dev обновлял конфигурацию БД уже существующей ИБ.

Изменено в 3.0

Обе команды заменены командами группы infobase. Логика инициализации из хранилища теперь разбита на отдельные шаги.

Документация infobase →

Изменения

Аспект2.x3.0
Создание ИБvrunner init-devvrunner infobase init
Обновление конфиг. БДvrunner update-devvrunner infobase update
Загрузка из хранилищаvrunner init-dev --storage ...vrunner repo load (отдельный шаг)
Флаг реструктуризации--v1 / --v2--rtype v1 / --rtype v2
Секция в настройках"init-dev" / "update-dev""vrunner.infobase.init" / "vrunner.infobase.update"

Простой случай: создание ИБ без хранилища

Было (2.x)

bash
vrunner init-dev \
  --ibconnection /F./build/ib \
  --db-user Администратор \
  --v8version 8.3.24

Стало (3.0)

bash
vrunner infobase init \
  --ibconnection /F./build/ib \
  --db-user Администратор \
  --v8version 8.3.24

Инициализация из хранилища 1С

В 2.x это делалось одной командой с флагом --storage:

bash
# 2.x: Создать ИБ и загрузить конфигурацию из хранилища
set RUNNER_IBNAME=/F./build/ib
vrunner init-dev \
  --storage \
  --storage-name tcp://serverstorage/erp \
  --storage-user bot \
  --storage-pwd 123

В 3.0 это разбивается на три шага:

bash
# 3.0: Шаг 1 — создать пустую ИБ
vrunner infobase init \
  --ibconnection /F./build/ib \
  --v8version 8.3.24

# 3.0: Шаг 2 — загрузить конфигурацию из хранилища
vrunner repo load \
  --ibconnection /F./build/ib \
  --storage-name tcp://serverstorage/erp \
  --storage-user bot \
  --storage-pwd 123 \
  --v8version 8.3.24

# 3.0: Шаг 3 — обновить конфигурацию БД
vrunner infobase update \
  --ibconnection /F./build/ib \
  --v8version 8.3.24

Обновление ИБ (update-dev)

Было (2.x)

bash
vrunner update-dev \
  --ibconnection /F./build/ib \
  --db-user Администратор \
  --v8version 8.3.24 \
  --v2

Стало (3.0)

bash
vrunner infobase update \
  --ibconnection /F./build/ib \
  --db-user Администратор \
  --v8version 8.3.24 \
  --rtype v2

Флаги реструктуризации --v1 / --v2

2.x3.0
vrunner updatedb --v1vrunner infobase update --rtype v1
vrunner updatedb --v2vrunner infobase update --rtype v2
vrunner init-dev --v2vrunner infobase update --rtype v2
vrunner update-dev --v2vrunner infobase update --rtype v2

Значение по умолчанию: v1.

Файл настроек

Было (vrunner.json)

json
{
  "init-dev": {
    "--v2": true
  },
  "update-dev": {
    "--v2": true
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "infobase": {
      "init": {},
      "update": {
        "rtype": "v2"
      }
    }
  }
}

vrunner init-project

Создавал структуру нового проекта: клонировал шаблон, устанавливал пакеты (gitsync, gitrules, precommit1c).

Команда удалена в 3.0

vrunner init-project не имеет прямого аналога в vanessa-runner 3.0.

Инициализация проекта выполняется вручную или сторонними инструментами.

Что делала команда в 2.x

bash
# Создать проект по шаблону
vrunner init-project --template https://github.com/user/myrepo.git

# Создать по файлу настроек
vrunner init-project --settings my-path/env.json
  • Клонировала Git-репозиторий-шаблон
  • Предлагала установку пакетов: gitsync, gitrules, precommit1c
  • Создавала структуру каталогов по шаблону

Альтернативы в 3.0

Ручная инициализация

Скопируйте шаблон вручную или используйте git clone:

bash
git clone https://github.com/vanessa-opensource/vanessa-bootstrap.git my-project
cd my-project

Установка пакетов

Пакеты устанавливаются через opm напрямую:

bash
opm install vanessa-runner
opm install gitsync
opm install gitrules

Шаблонные репозитории GitHub/GitLab

Используйте функционал шаблонных репозиториев на уровне платформы хостинга:


vrunner loadrepo

Загружает конфигурацию из хранилища 1С в информационную базу (обновляет ИБ до последней версии в хранилище).

Изменено в 3.0

vrunner loadrepo переименована в vrunner repo load — вошла в группу repo.

Документация repo load →

Изменения

Аспект2.x3.0
Командаvrunner loadrepovrunner repo load
--storage-nameПоддерживаетсяПоддерживается
--storage-userПоддерживаетсяПоддерживается
--storage-pwdПоддерживаетсяПоддерживается
--storage-verПоддерживаетсяПоддерживается
Переменные окруженияRUNNER_storage_name, RUNNER_storage_user, RUNNER_storage_pwdVRUNNER_STORAGE_NAME, VRUNNER_STORAGE_USER, VRUNNER_STORAGE_PWD
Секция в настройках"loadrepo""vrunner.repo.load"

Примеры

Было (2.x)

bash
vrunner loadrepo \
  --ibconnection /F./build/ibservice \
  --storage-name tcp://serverstorage/erp \
  --storage-user bot \
  --storage-pwd 123 \
  --db-user Администратор \
  --db-pwd secret \
  --v8version 8.3.24

Стало (3.0)

bash
vrunner repo load \
  --ibconnection /F./build/ibservice \
  --storage-name tcp://serverstorage/erp \
  --storage-user bot \
  --storage-pwd 123 \
  --db-user Администратор \
  --db-pwd secret \
  --v8version 8.3.24

Файл настроек

Было (vrunner.json)

json
{
  "loadrepo": {
    "--ibconnection": "/F./build/ibservice",
    "--storage-name": "tcp://serverstorage/erp",
    "--storage-user": "bot",
    "--storage-pwd": "123"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "repo": {
      "load": {
        "ibconnection": "/F./build/ibservice",
        "storage-name": "tcp://serverstorage/erp",
        "storage-user": "bot",
        "storage-pwd": "123"
      }
    }
  }
}

vrunner run

Запускает 1С:Предприятие в режиме предприятия с переданными параметрами /C и /Execute.

Изменено в 3.0

vrunner run стала подкомандой enterprise внутри группы run.

Документация run enterprise →

Изменения

Аспект2.x3.0
Командаvrunner runvrunner run enterprise
--commandПоддерживаетсяПоддерживается
--executeПоддерживаетсяПоддерживается
--nocacheuseПоддерживаетсяПоддерживается
Переменные окруженияRUNNER_*VRUNNER_*
Секция в настройках"run""vrunner.run.enterprise"

Примеры

Было (2.x)

bash
vrunner run \
  --ibconnection /F./build/ib \
  --db-user Администратор \
  --v8version 8.3.24 \
  --uccode godModeOFF \
  --nocacheuse \
  --command "ЗапуститьОбновлениеИБ;РежимОтладки;" \
  --execute "$runnerRoot\epf\ЗакрытьПредприятие.epf"

Стало (3.0)

bash
vrunner run enterprise \
  --ibconnection /F./build/ib \
  --db-user Администратор \
  --v8version 8.3.24 \
  --uccode godModeOFF \
  --nocacheuse \
  --command "ЗапуститьОбновлениеИБ;РежимОтладки;" \
  --execute "$runnerRoot\epf\ЗакрытьПредприятие.epf"

Файл настроек

Было (vrunner.json)

json
{
  "run": {
    "--uccode": "godModeOFF",
    "--command": "ЗапуститьОбновлениеИБ;РежимОтладки;ОтключитьЛогикуРаботыПрограммы;",
    "--execute": "$runnerRoot\\epf\\ЗакрытьПредприятие.epf"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "run": {
      "enterprise": {
        "uccode": "godModeOFF",
        "command": "ЗапуститьОбновлениеИБ;РежимОтладки;ОтключитьЛогикуРаботыПрограммы;",
        "execute": "$runnerRoot\\epf\\ЗакрытьПредприятие.epf"
      }
    }
  }
}

vrunner scheduledjobs lock / unlock

Управление регламентными заданиями информационной базы через rac/ras: блокировка и разблокировка фоновых задач.

Изменено в 3.0

vrunner scheduledjobs вошла в группу cluster как vrunner cluster jobs. Параметр --db переименован в --db-name.

Документация cluster jobs →

Изменения

Аспект2.x3.0
scheduledjobs lockvrunner scheduledjobs lockvrunner cluster jobs lock
scheduledjobs unlockvrunner scheduledjobs unlockvrunner cluster jobs unlock
Имя базы--db <имя>--db-name <имя>
--ras, --racПоддерживаютсяПоддерживаются
Администратор кластера--db-user / --db-pwd--cluster-admin / --cluster-pwd

Примеры: scheduledjobs lock

Было (2.x)

bash
vrunner scheduledjobs lock \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db MyInfobase \
  --db-user Администратор \
  --db-pwd secret

Стало (3.0)

bash
vrunner cluster jobs lock \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd adminpwd

Примеры: scheduledjobs unlock

Было (2.x)

bash
vrunner scheduledjobs unlock \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db MyInfobase \
  --db-user Администратор \
  --db-pwd secret

Стало (3.0)

bash
vrunner cluster jobs unlock \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd adminpwd

Типичный сценарий обслуживания

Полный цикл блокировки, обновления и разблокировки в 3.0:

bash
# 1. Остановить регламентные задания
vrunner cluster jobs lock --ras localhost:1545 --db-name MyIB --cluster-admin Admin --cluster-pwd pwd

# 2. Заблокировать новые сеансы
vrunner cluster session lock --ras localhost:1545 --db-name MyIB --cluster-admin Admin --cluster-pwd pwd \
  --uccode SECRET --denied-message "Обслуживание. Код доступа: SECRET"

# 3. Завершить активные сеансы
vrunner cluster session kill --ras localhost:1545 --db-name MyIB --cluster-admin Admin --cluster-pwd pwd

# 4. Выполнить обновление
vrunner infobase update --ibconnection "/SMyServer\MyIB" --uccode SECRET

# 5. Разблокировать сеансы
vrunner cluster session unlock --ras localhost:1545 --db-name MyIB --cluster-admin Admin --cluster-pwd pwd

# 6. Запустить регламентные задания
vrunner cluster jobs unlock --ras localhost:1545 --db-name MyIB --cluster-admin Admin --cluster-pwd pwd

vrunner session lock / unlock / kill / closed

Управление сеансами информационной базы через rac/ras: блокировка новых сеансов, снятие блокировки, принудительное завершение активных сеансов, проверка отсутствия сеансов.

Изменено в 3.0

vrunner session вошла в группу cluster как vrunner cluster session. Изменились имена нескольких опций.

Документация cluster session →

Изменения

Аспект2.x3.0
session lockvrunner session lockvrunner cluster session lock
session unlockvrunner session unlockvrunner cluster session unlock
session killvrunner session killvrunner cluster session kill
session closedvrunner session closedvrunner cluster session closed
Список сеансовvrunner cluster session list (новое)
Проверка завершения (kill)Нет — «выстрелил и забыл»Есть: ретраи зависших сеансов, --retry/--timeout
Ожидание завершения (closed)Нет — только разовая проверка--timeout <сек> — проверка каждые 3 секунды
Имя базы--db <имя>--db-name <имя>
Код допуска--uccode <код>--uccode <код> (без изменений)
Сообщение блокировки--lockmessage <текст>--denied-message <текст>
--lockstartat <сек>ПоддерживалсяУдалён
--lockendclearПоддерживалсяУдалён
Отбор по приложению (kill/closed)--filter appid=Designer;1CV8--filter-app "Designer;1CV8"
Отбор по пользователю (kill/closed)--filter name=рег1;рег2--filter-name "рег1;рег2"
Режим отбора--mode EXCEPT--filter-except
Режим отбора--mode ONLY / OFF / DEFAULT / ALLУдалены (см. ниже)
--with-nolock (kill)Поддерживался--no-lock
--ras, --racПоддерживаютсяПоддерживаются

Удалены параметры

--lockstartat и --lockendclear не имеют аналогов в 3.0 — блокировка применяется немедленно.

Отбор сеансов в 3.0

Единая опция --filter с мини-синтаксисом ключ=значение заменена двумя явными опциями: --filter-app (идентификатор приложения, значения проверяются по списку допустимых) и --filter-name (пользователь ИБ). Обе можно указывать несколько раз или перечислять значения через ; — все условия объединяются по ИЛИ, как в 2.x.

Опция --mode заменена флагом --filter-except (аналог --mode EXCEPT — действие применяется ко всем сеансам, кроме подходящих под отбор). Прочие режимы аналога не имеют: ONLY был поведением по умолчанию, OFF эквивалентен запуску без отбора, а DEFAULT/ALL опирались на встроенные фильтры vanessa-runner, которых так и не появилось.

kill проверяет результат

В 2.x session kill не проверял, что сеансы действительно завершились, и всегда возвращал 0. В 3.0 команда после каждой попытки перечитывает список, добивает зависшие сеансы повторно (по умолчанию 3 попытки с паузой 3 секунды; настраивается --retry/--timeout) и завершается с кодом 1, если сеансы так и остались. Пайплайны, полагавшиеся на «kill всегда успешен», теперь честно упадут на незавершаемых сеансах.

Примеры: session lock

Было (2.x)

bash
vrunner session lock \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db MyInfobase \
  --db-user Администратор \
  --db-pwd secret \
  --lockstartat 10 \
  --lockendclear \
  --lockmessage "База закрыта на обслуживание" \
  --uccode MySecretCode \
  --v8version 8.3.24

Стало (3.0)

bash
vrunner cluster session lock \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd adminpwd \
  --uccode MySecretCode \
  --denied-message "База закрыта на обслуживание. Код: MySecretCode"

Примеры: session unlock

Было (2.x)

bash
vrunner session unlock \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db MyInfobase \
  --db-user Администратор \
  --db-pwd secret \
  --uccode MySecretCode

Стало (3.0)

bash
vrunner cluster session unlock \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd adminpwd

Примеры: session kill

Было (2.x)

bash
vrunner session kill \
  --filter "appid=Designer|name=регламент;администратор" \
  --mode EXCEPT \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db MyInfobase \
  --db-user Администратор \
  --db-pwd secret

Стало (3.0)

bash
vrunner cluster session kill \
  --filter-app Designer \
  --filter-name "регламент;администратор" \
  --filter-except \
  --ras localhost:1545 \
  --rac "C:\Program Files\1cv8\8.3.24\bin\rac.exe" \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd adminpwd

Примеры: session closed

Действие closed проверяет отсутствие сеансов: если сеансы найдены, команда печатает их список и завершается с ненулевым кодом возврата. Типовой сценарий — после session lock дождаться завершения фоновых заданий перед обновлением.

Было (2.x)

bash
vrunner session closed \
  --ras localhost:1545 \
  --db MyInfobase \
  --db-user Администратор \
  --db-pwd secret

Стало (3.0)

bash
vrunner cluster session closed \
  --ras localhost:1545 \
  --db-name MyInfobase \
  --cluster-admin ClusterAdmin \
  --cluster-pwd adminpwd

Файл настроек

Секции session в vrunner.json не существовало — параметры всегда передавались из командной строки.

В 3.0 можно задать общие параметры cluster в autumn-properties.json:

json
{
  "vrunner": {
    "cluster": {
      "ras": "localhost:1545",
      "cluster-admin": "ClusterAdmin",
      "cluster-pwd": "adminpwd"
    }
  }
}

Файл настроек и переменные окружения

В 3.0 изменились формат файла настроек, правила именования ключей и префиксы переменных окружения.

Скрипт конвертации

Для автоматической конвертации vrunner.jsonautumn-properties.json:

bash
oscript tools/migrate26to30.os --input vrunner.json --output autumn-properties.json

Скрипт обрабатывает все стандартные секции, переименовывает ключи и выводит предупреждения о случаях, требующих ручной правки.

Имя файла

2.x3.0
vrunner.jsonautumn-properties.json

Старое имя vrunner.json больше не распознаётся. Файл необходимо переименовать или создать заново.

Формат ключей

В 2.x ключи в файле настроек записывались с префиксом -- (как в командной строке):

json
{
  "default": {
    "--ibconnection": "/F./build/ib",
    "--v8version": "8.3.24"
  }
}

В 3.0 ключи задаются без -- префикса:

json
{
  "vrunner": {
    "ibconnection": "/F./build/ib",
    "v8version": "8.3.24"
  }
}

Иерархия секций

В 2.x файл настроек был плоским, каждая команда — своя секция верхнего уровня:

json
{
  "default": { "--ibconnection": "/F./ib", "--v8version": "8.3.24" },
  "xunit": { "--reportsxunit": "jUnit{./build/junit.xml}" },
  "vanessa": { "--vanessasettings": "./vb-conf.json" }
}

В 3.0 настройки вложены в пространство имён vrunner, а команды отражают иерархию CLI:

json
{
  "vrunner": {
    "ibconnection": "/F./ib",
    "v8version": "8.3.24",
    "test": {
      "xunit": {
        "reportsxunit": "jUnit{./build/junit.xml}"
      },
      "vanessa": {
        "vanessasettings": "./vb-conf.json"
      }
    }
  }
}

Маппинг секций

Секция в 2.xПуть в 3.0
defaultvrunner
xunitvrunner.test.xunit
vanessavrunner.test.vanessa
syntax-checkvrunner.validate.syntax-check
compile / compileconfvrunner.cf.compile
decompile / decompileconfvrunner.cf.decompile
compileepfvrunner.epf.compile
decompileepfvrunner.epf.decompile
compileextvrunner.cfe.compile
decompileextvrunner.cfe.decompile
updatedbvrunner.infobase.update
runvrunner.run.enterprise
loadrepovrunner.repo.load
designervrunner.run.designer

WARNING

Секции init-dev, update-dev и init-project не имеют прямого аналога в 3.0. Смотрите отдельные страницы миграции: init-dev →, init-project →.

Полный пример конвертации

Было (vrunner.json):

json
{
  "default": {
    "--ibconnection": "/F./build/ib",
    "--db-user": "Администратор",
    "--db-pwd": "",
    "--v8version": "8.3.24"
  },
  "xunit": {
    "--reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml}",
    "testsPath": "./tests"
  },
  "vanessa": {
    "--vanessasettings": "./tools/vb-conf.json",
    "--workspace": "."
  },
  "syntax-check": {
    "--groupbymetadata": true,
    "--exception-file": "./syntax-check-exceptions.txt",
    "--mode": ["-ThinClient", "-Server", "-WebClient"]
  },
  "loadrepo": {
    "--storage-name": "tcp://server/storage",
    "--storage-user": "bot",
    "--storage-pwd": "123"
  },
  "updatedb": {
    "--uccode": "godModeOn",
    "--v2": true
  }
}

Стало (autumn-properties.json):

json
{
  "vrunner": {
    "ibconnection": "/F./build/ib",
    "db-user": "Администратор",
    "db-pwd": "",
    "v8version": "8.3.24",
    "test": {
      "xunit": {
        "reportsxunit": "ГенераторОтчетаJUnitXML{build/junit.xml}"
      },
      "vanessa": {
        "vanessasettings": "./tools/vb-conf.json",
        "workspace": "."
      }
    },
    "validate": {
      "syntax-check": {
        "groupbymetadata": true,
        "exception-file": "./syntax-check-exceptions.txt",
        "mode": ["ThinClient", "Server", "WebClient"]
      }
    },
    "repo": {
      "load": {
        "storage-name": "tcp://server/storage",
        "storage-user": "bot",
        "storage-pwd": "123"
      }
    },
    "infobase": {
      "update": {
        "uccode": "godModeOn",
        "rtype": "v2"
      }
    }
  }
}

Переменные окружения

Все переменные окружения переименованы с префикса RUNNER_ на VRUNNER_. Это необходимо для устранения конфликтов с зарезервированными переменными в CI-системах (GitHub Actions, GitLab Runner и других).

WARNING

Обновите определения переменных в .gitlab-ci.yml, GitHub workflow-файлах, Jenkinsfile и скриптах сборки.

2.x переменная3.0 переменная
RUNNER_IBNAMEVRUNNER_IBCONNECTION
RUNNER_DBUSERVRUNNER_DBUSER
RUNNER_DBPWDVRUNNER_DBPWD
RUNNER_uccodeVRUNNER_UCCODE
RUNNER_v8versionVRUNNER_V8VERSION
RUNNER_VANESSASETTINGSVRUNNER_VANESSASETTINGS
RUNNER_PATHVANESSAVRUNNER_PATHVANESSA
RUNNER_WORKSPACEVRUNNER_WORKSPACE
RUNNER_TESTSPATHVRUNNER_TESTSPATH
RUNNER_PATHXUNITVRUNNER_PATHXUNIT
RUNNER_CONFIG_TESTSVRUNNER_CONFIG_TESTS
RUNNER_storage_nameVRUNNER_STORAGE_NAME
RUNNER_storage_userVRUNNER_STORAGE_USER
RUNNER_storage_pwdVRUNNER_STORAGE_PWD

TIP

Обратите внимание, что RUNNER_IBNAME (имя базы для cluster) заменён на VRUNNER_IBCONNECTION (строка подключения). Для cluster-команд используется VRUNNER_IBNAME как отдельная переменная.

Каскад приоритетов

В 2.x порядок приоритетов был:

  1. env.json (или --settings <файл>)
  2. Переменные окружения RUNNER_*
  3. Ключи командной строки --*

В 3.0 порядок аналогичен, но схема изменилась:

  1. Значения по умолчанию из пакета vanessa-runner
  2. autumn-properties.json в текущем каталоге
  3. Переменные окружения VRUNNER_*
  4. Аргументы командной строки

WARNING

Параметр --settings <файл> сохранён для обратной совместимости, но указанный файл читается как autumn-properties.json (новый формат), а не как vrunner.json.


vrunner syntax-check

Выполняет синтаксическую проверку конфигурации через конфигуратор в указанных режимах клиента. Формирует JUnit-совместимый отчёт.

Изменено в 3.0

vrunner syntax-check переименована в vrunner validate syntax-check — вошла в группу validate. Изменился формат задания режимов проверки: значения больше не пишутся с ведущим дефисом.

Документация validate syntax-check →

Изменения

Аспект2.x3.0
Командаvrunner syntax-checkvrunner validate syntax-check
Значения --mode-ThinClient, -Server (с дефисом)ThinClient, Server (без дефиса)
--groupbymetadata--groupbymetadata true--groupbymetadata (флаг)
--exception-fileПоддерживаетсяПоддерживается
JUnit-отчёт(не документирован)--junitpath ./build/syntax.xml
Секция в настройках"syntax-check""vrunner.validate.syntax-check"

Важно: формат режимов проверки

В 2.x режимы задавались со знаком - как часть значения:

--mode "-ThinClient" "-Server" "-WebClient"

В 3.0 ведущий дефис убран — режимы задаются без него:

--mode ThinClient --mode Server --mode WebClient

Значения с ведущим дефисом в командной строке 3.0 будут восприниматься как неизвестные ключи.

Примеры

Было (2.x)

bash
vrunner syntax-check \
  --ibconnection /F./build/ib \
  --groupbymetadata true \
  --exception-file ./syntax-check-exceptions.txt \
  --mode "-ExtendedModulesCheck" "-ThinClient" "-WebClient" "-Server" \
    "-ExternalConnection" "-ThickClientOrdinaryApplication"

Стало (3.0)

bash
vrunner validate syntax-check \
  --ibconnection /F./build/ib \
  --groupbymetadata \
  --exception-file ./syntax-check-exceptions.txt \
  --junitpath ./build/reports/syntax.xml \
  --mode ExtendedModulesCheck \
  --mode ThinClient \
  --mode WebClient \
  --mode Server \
  --mode ExternalConnection \
  --mode ThickClientOrdinaryApplication

Файл настроек

Было (vrunner.json)

json
{
  "syntax-check": {
    "--groupbymetadata": true,
    "--exception-file": "./syntax-check-exceptions.txt",
    "--mode": [
      "-ExtendedModulesCheck",
      "-ThinClient",
      "-WebClient",
      "-Server",
      "-ExternalConnection",
      "-ThickClientOrdinaryApplication"
    ]
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "validate": {
      "syntax-check": {
        "groupbymetadata": true,
        "exception-file": "./syntax-check-exceptions.txt",
        "junitpath": "./build/reports/syntax.xml",
        "mode": [
          "ExtendedModulesCheck",
          "ThinClient",
          "WebClient",
          "Server",
          "ExternalConnection",
          "ThickClientOrdinaryApplication"
        ]
      }
    }
  }
}

Полный список режимов

Режим (3.0, без дефиса)Описание
ThinClientТонкий клиент
WebClientВеб-клиент
ServerСервер
ExternalConnectionВнешнее соединение
ThickClientManagedApplicationТолстый клиент (управляемое приложение)
ThickClientOrdinaryApplicationТолстый клиент (обычное приложение)
ExtendedModulesCheckРасширенная проверка модулей
ConfigLogIntegrityПроверка логической целостности
UnreferenceProceduresПоиск неиспользуемых процедур
EmptyHandlersПоиск пустых обработчиков
AllExtensionsПроверка всех расширений

Полный список: validate syntax-check →


vrunner updatedb

Обновляет конфигурацию БД информационной базы — применяет изменения конфигурации к базе данных.

Изменено в 3.0

vrunner updatedb переименована в vrunner infobase update — вошла в группу infobase. Флаги --v1/--v2 заменены опцией --rtype.

Документация infobase update →

Изменения

Аспект2.x3.0
Командаvrunner updatedbvrunner infobase update
Режим реструктуризации--v1 / --v2 (флаги)--rtype v1 / --rtype v2
Значение по умолчаниюv1 (обычный)--rtype v1
--uccodeПоддерживаетсяПоддерживается
--ibconnectionПоддерживаетсяПоддерживается
Переменные окруженияRUNNER_*VRUNNER_*
Секция в настройках"updatedb""vrunner.infobase.update"

Примеры

Было (2.x)

bash
# Обычное обновление
vrunner updatedb \
  --ibconnection /F./build/ib \
  --db-user Администратор \
  --db-pwd secret \
  --v8version 8.3.24 \
  --uccode godModeOn

# Оптимизированный режим реструктуризации
vrunner updatedb \
  --ibconnection /F./build/ib \
  --uccode godModeOn \
  --v2

Стало (3.0)

bash
# Обычное обновление (rtype v1 — по умолчанию)
vrunner infobase update \
  --ibconnection /F./build/ib \
  --db-user Администратор \
  --db-pwd secret \
  --v8version 8.3.24 \
  --uccode godModeOn

# Оптимизированный режим реструктуризации
vrunner infobase update \
  --ibconnection /F./build/ib \
  --uccode godModeOn \
  --rtype v2

Файл настроек

Было (vrunner.json)

json
{
  "updatedb": {
    "--ibconnection": "/F./build/ib",
    "--db-user": "bot",
    "--db-pwd": "123",
    "--uccode": "godModeOn",
    "--v2": true
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "infobase": {
      "update": {
        "ibconnection": "/F./build/ib",
        "db-user": "bot",
        "db-pwd": "123",
        "uccode": "godModeOn",
        "rtype": "v2"
      }
    }
  }
}

vrunner vanessa

Запускает функциональные BDD-тесты через Vanessa-ADD. Передаёт управление в режим 1С:Предприятие с подключённой обработкой bddRunner.epf.

Изменено в 3.0

vrunner vanessa переименована в vrunner test vanessa — вошла в группу test.

Документация test vanessa →

Изменения

Аспект2.x3.0
Командаvrunner vanessavrunner test vanessa
Путь к фичам--path <путь>--feature-path <путь>
Путь к bddRunner.epf--pathvanessa <путь>--bddrunner-path <путь>
Прочие опции--vanessasettings, --workspace, --tags-ignore, --tags-filter, --additional-keysбез изменений
Переменные окруженияRUNNER_VANESSASETTINGS, RUNNER_WORKSPACE, RUNNER_PATHVANESSAVRUNNER_VANESSASETTINGS, VRUNNER_WORKSPACE, VRUNNER_PATHVANESSA
Секция в настройках"vanessa""vrunner.test.vanessa"

Путь к фичам

Как и в 2.x, путь к фичам передаётся в Vanessa-ADD через переменную окружения VANESSA_FEATUREPATH (vrunner выставляет её сам, приводя путь к абсолютному). Он переопределяет КаталогФич из файла настроек Vanessa. С толстым клиентом (--ordinaryapp 1) опция --feature-path несовместима — Vanessa-ADD в режиме обычных форм не поддерживает указание фич при запуске.

Примеры

Было (2.x)

bash
vrunner vanessa \
  --ibconnection /F./build/ib \
  --vanessasettings ./tools/vb-conf.json \
  --workspace . \
  --additional "/DisplayAllFunctions /L ru"

Стало (3.0)

bash
vrunner test vanessa \
  --ibconnection /F./build/ib \
  --vanessasettings ./tools/vb-conf.json \
  --workspace . \
  --additional "/DisplayAllFunctions /L ru"

Файл настроек

Было (vrunner.json)

json
{
  "default": {
    "--ibconnection": "/F./build/ib",
    "--db-user": "Администратор",
    "--db-pwd": ""
  },
  "vanessa": {
    "--vanessasettings": "./tools/VBParams.json",
    "--workspace": ".",
    "--additional": "/DisplayAllFunctions /L ru"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "ibconnection": "/F./build/ib",
    "db-user": "Администратор",
    "db-pwd": "",
    "test": {
      "vanessa": {
        "vanessasettings": "./tools/VBParams.json",
        "workspace": ".",
        "additional": "/DisplayAllFunctions /L ru"
      }
    }
  }
}

vrunner xunit

Запускает модульные тесты через Vanessa-ADD (xUnit for 1C). Открывает 1С:Предприятие, загружает обработку xddTestRunner.epf и запускает тесты из указанного каталога или файла.

Изменено в 3.0

vrunner xunit переименована в vrunner test xunit — вошла в группу test.

Документация test xunit →

Изменения

Аспект2.x3.0
Командаvrunner xunitvrunner test xunit
--reportxunitПоддерживаетсяУстарел — используйте --reportsxunit
Формат отчёта --reportxunitПуть к каталогуУстарел
--reportsxunitИмена генераторов Vanessa-ADDКраткие форматы (junit{путь};allure{путь}) и имена генераторов
Переменные окруженияRUNNER_TESTSPATH, RUNNER_PATHXUNITVRUNNER_TESTSPATH, VRUNNER_PATHXUNIT
Секция в настройках"xunit""vrunner.test.xunit"

Формат --reportsxunit

В 2.x указывались полные имена генераторов Vanessa-ADD: ГенераторОтчетаJUnitXML{./build/junit.xml}

В 3.0 добавлены краткие форматы (регистр не важен):

Краткий форматГенератор Vanessa-ADD
junitГенераторОтчетаJUnitXML
allureГенераторОтчетаAllureXMLВерсия2
jsonГенераторОтчетаJSON
mxlГенераторОтчетаMXL
genericexecutionГенераторОтчетаGenericExecution

Полные имена генераторов из 2.x (ГенераторОтчета*{путь}, GenerateReport*{путь}) по-прежнему принимаются — старые строки запуска работают без изменений. Это позволяет использовать и генераторы-плагины, которых нет в кратком списке (например, ГенераторОтчетаJUnitXML_TFS).

Порядок аргументов

В 3.0 опции указываются до позиционного аргумента TESTSPATH: vrunner test xunit --reportsxunit "junit{...}" ./tests. Вариант 2.x с опциями после пути к тестам (vrunner xunit ./tests --reportsxunit ...) парсер 3.0 пока не принимает.

Примеры

Было (2.x)

bash
# Запуск тестов с JUnit-отчётом (старый формат)
vrunner xunit ./tests \
  --ibconnection /F./build/ib \
  --reportsxunit "ГенераторОтчетаJUnitXML{build/junit.xml}"

# Запуск через ключ --settings
vrunner xunit --settings tools/vrunner.json

Стало (3.0)

bash
# Запуск тестов с JUnit-отчётом
vrunner test xunit \
  --ibconnection /F./build/ib \
  --reportsxunit "junit{./build/reports/junit.xml}" \
  ./tests

# Несколько форматов одновременно
vrunner test xunit \
  --ibconnection /F./build/ib \
  --reportsxunit "junit{./build/reports/junit.xml};allure{./build/reports/allure}" \
  ./tests

Файл настроек

Было (vrunner.json)

json
{
  "default": {
    "--ibconnection": "/F./build/ib",
    "--db-user": "Администратор",
    "--db-pwd": ""
  },
  "xunit": {
    "testsPath": "./tests",
    "--reportsxunit": "ГенераторОтчетаJUnitXML{build/junit/xddreport.xml};ГенераторОтчетаAllureXML{build/allure/allure-testsuite.xml}",
    "--xddExitCodePath": "build/xddExitCodePath.txt",
    "--testclient": "Автотест:123:48223"
  }
}

Стало (autumn-properties.json)

json
{
  "vrunner": {
    "ibconnection": "/F./build/ib",
    "db-user": "Администратор",
    "db-pwd": "",
    "test": {
      "xunit": {
        "reportsxunit": "jUnit{./build/reports/junit.xml};allure{./build/reports/allure}",
        "xddExitCodePath": "build/xddExitCodePath.txt",
        "testclient": "Автотест:123:48223"
      }
    }
  }
}

TIP

Позиционный аргумент testsPath из конфига 2.x не поддерживается в autumn-properties.json. Путь к тестам передавайте позиционным аргументом в командной строке или через переменную окружения VRUNNER_TESTSPATH.

Встроенные тесты vanessa-add и макрос $addRoot

Макрос $addRoot (каталог установки библиотеки Vanessa-ADD) сохранён в 3.0. Он раскрывается в аргументе TESTSPATH команды test xunit (и в --feature-path команды test vanessa).

Запуск встроенных дымовых тестов Vanessa-ADD, как в 2.x:

bash
# Было (2.x)
vrunner xunit "$addRoot/tests/smoke" --ibconnection /F./build/ib

# Стало (3.0) - опции указываются до пути к тестам
vrunner test xunit --ibconnection /F./build/ib "$addRoot/tests/smoke"

$addRoot указывает на каталог <каталог установки oscript>/lib/add, где лежат xddTestRunner.epf, bddRunner.epf и встроенные тесты (tests/smoke).

WARNING

В POSIX-оболочках $addRoot может быть воспринят как переменная окружения. Заключайте путь в одинарные кавычки или экранируйте $, чтобы макрос дошёл до vrunner буквально:

bash
vrunner test xunit --ibconnection /F./build/ib '$addRoot/tests/smoke'

Файл настроек (autumn-properties.json)

vanessa-runner использует файл autumn-properties.json для задания настроек по умолчанию на уровне проекта.

Расположение файла

Файл autumn-properties.json должен находиться в рабочем каталоге, из которого запускается vrunner. Как правило, это корень проекта.

Формат файла

json
{
  "vrunner": {
    "<опция>": "<значение>",
    "<команда>": {
      "<опция>": "<значение>"
    }
  }
}

Ключи задаются через пространство имён vrunner.

Каскад приоритетов

Настройки применяются в следующем порядке (от низшего приоритета к высшему):

  1. Значения по умолчанию из пакета vanessa-runner
  2. autumn-properties.json в текущем рабочем каталоге
  3. Переменные окружения
  4. Аргументы командной строки

Примеры конфигурации

Базовые настройки подключения

json
{
  "vrunner": {
    "ibconnection": "/FD:/bases/MyProject",
    "db-user": "Администратор",
    "db-pwd": "",
    "v8version": "8.3.24"
  }
}

Настройки для конкретных команд

json
{
  "vrunner": {
    "ibconnection": "/F./ib",
    "v8version": "8.3.24",
    "cf": {
      "compile": {
        "src": "./src"
      }
    },
    "repo": {
      "load": {
        "storage-name": "D:/repos/MyProject",
        "storage-user": "StorageUser"
      }
    }
  }
}

Пример для CI-окружения

json
{
  "vrunner": {
    "v8version": "8.3.24",
    "ibcmd": true,
    "test": {
      "xunit": {
        "reportsxunit": "jUnit{./build/reports/junit.xml}"
      }
    }
  }
}

Уровни логирования

Уровень логирования настраивается через autumn-properties.json:

json
{
  "logos": {
    "logger": {
      "vrunner": "DEBUG"
    }
  }
}

Доступные уровни: DEBUG, INFO, WARN, ERROR.

Или через переменную окружения:

bash
export LOGOS_LOGGER_VRUNNER=DEBUG
vrunner cf compile ./build/App.cf

Переменные окружения

Все опции vanessa-runner можно задавать через переменные окружения. Это удобно в CI/CD-пайплайнах, где параметры подключения нежелательно передавать в командной строке.

Приоритет

Параметры применяются в следующем порядке (каждый следующий перекрывает предыдущий):

  1. Значение по умолчанию
  2. Файл настроек (autumn-properties.json)
  3. Переменная окружения
  4. Аргумент командной строки

Полный список переменных

Подключение к ИБ

ПеременнаяОпцияОписание
VRUNNER_IBCONNECTION--ibconnectionСтрока подключения (/F<путь> или /S<сервер>\<база>)
VRUNNER_DBUSER--db-userПользователь информационной базы
VRUNNER_DBPWD--db-pwdПароль пользователя ИБ

Платформа

ПеременнаяОпцияОписание
VRUNNER_V8VERSION--v8versionВерсия платформы 1С
VRUNNER_UCCODE--uccodeКод разрешения блокировки запуска
VRUNNER_LANGUAGE--languageЯзык интерфейса платформы
VRUNNER_LOCALE--localeЯзык сеанса (локаль)

СУБД (при работе через ibcmd с серверной ИБ)

ПеременнаяОпцияОписание
VRUNNER_DBMS_TYPE--dbms-typeТип СУБД: MSSQLServer, PostgreSQL, IBMDB2, OracleDatabase
VRUNNER_DBMS_SERVER--dbms-serverАдрес сервера СУБД
VRUNNER_DBMS_BASE--dbms-baseИмя базы данных СУБД
VRUNNER_DBMS_USER--dbms-userПользователь СУБД
VRUNNER_DBMS_PWD--dbms-pwdПароль СУБД

Хранилище конфигурации

ПеременнаяОпцияОписание
VRUNNER_STORAGE_NAME--storage-nameАдрес хранилища
VRUNNER_STORAGE_USER--storage-userПользователь хранилища
VRUNNER_STORAGE_PWD--storage-pwdПароль хранилища
VRUNNER_STORAGE_VER--storage-verВерсия хранилища

Кластер 1С

ПеременнаяОпцияОписание
VRUNNER_RAS--rasАдрес RAS (по умолчанию localhost:1545)
VRUNNER_RAC--racПуть к утилите rac
VRUNNER_IBNAME--db-nameИмя ИБ в кластере
VRUNNER_CLUSTERADMIN_USER--cluster-adminАдминистратор кластера
VRUNNER_CLUSTERADMIN_PWD--cluster-pwdПароль администратора кластера

Запуск

ПеременнаяОпцияОписание
VRUNNER_NOCACHEUSE--nocacheuseНе использовать кеш платформы
VRUNNER_ORDINARYAPP--ordinaryappРежим запуска: 1 (толстый), 0 (тонкий), -1 (авто)
VRUNNER_ADDITIONAL--additionalДополнительные параметры запуска платформы

Прочее

ПеременнаяОпцияОписание
VRUNNER_SETTINGS--settingsПуть к файлу настроек (JSON)

Пример для CI/CD

bash
export VRUNNER_IBCONNECTION="/S1c-server\MyBase"
export VRUNNER_DBUSER=Admin
export VRUNNER_DBPWD=$SECRET_IB_PWD
export VRUNNER_IBCMD=true
export VRUNNER_DBMS_TYPE=PostgreSQL
export VRUNNER_DBMS_SERVER=pg.internal
export VRUNNER_DBMS_BASE=my_db
export VRUNNER_DBMS_USER=postgres
export VRUNNER_DBMS_PWD=$SECRET_PG_PWD

vrunner infobase update
vrunner test xunit ./tests

Установка

Требования

  • OneScript версии 2.0 и выше
  • Платформа 1С:Предприятие 8.3 (для работы с базами)

Установка через opm

bash
opm install vanessa-runner

После установки команда vrunner будет доступна глобально.

Установка из исходников

bash
git clone https://github.com/vanessa-opensource/vanessa-runner.git
cd vanessa-runner
opm install -l

Проверка установки

bash
vrunner --version

Ожидаемый вывод:

vanessa-runner 3.x.x

Обновление

bash
opm install -u vanessa-runner

WARNING

На Windows запущенный MCP-сервер блокирует обновление. Если vanessa-runner используется как MCP-сервер, запущенный из каталога установки, его процесс держит загруженными нативные компоненты (например change-indexer). На Windows такую загруженную DLL нельзя перезаписать, поэтому opm install -u (и переустановка пакета) завершится ошибкой вида Access to the path '...\1script_change_indexer.dll' is denied.

Перед обновлением остановите MCP-сервер: отключите его в IDE/клиенте либо завершите процесс oscript/vrunner-mcp, который запущен из каталога установки. После opm install -u клиент переподключит сервер уже с обновлённой версией. Чтобы не сталкиваться с этим, запускайте MCP-сервер из копии в репозитории (oscript src/mcp.os с рабочим каталогом проекта), а не из каталога установки.

Установка зависимостей для разработки

bash
opm install

Зависимости устанавливаются в папку oscript_modules/.


Первые шаги

Синтаксис команд

Все команды vanessa-runner имеют единую структуру:

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

Например:

bash
# Собрать конфигурацию из исходников
vrunner cf compile ./build/MyApp.cf --s ./src

# Разобрать конфигурацию в исходники
vrunner cf decompile --cf-file MyApp.cf ./src

# Инициализировать ИБ из CF-файла
vrunner infobase init --src ./build/MyApp.cf --ibconnection /FMyInfobase

# Запустить xUnit-тесты
vrunner test xunit ./tests --ibconnection /FMyInfobase

Общие опции

Все команды поддерживают следующие общие опции:

Подключение к ИБ

ОпцияПеременная окруженияОписание
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения (/F<путь> или /S<сервер>\<имяИБ>)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать утилиту ibcmd вместо конфигуратора

Платформа

ОпцияПеременная окруженияОписание
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С (например, 8.3.24)
--uccodeVRUNNER_UCCODEКод разрешения (ключ блокировки)
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)

Настройки по умолчанию

Создайте файл autumn-properties.json в каталоге проекта для задания настроек по умолчанию:

json
{
  "vrunner": {
    "ibconnection": "/FD:/bases/MyProject",
    "v8version": "8.3.24",
    "db-user": "Администратор"
  }
}

Настройки применяются с таким приоритетом (от низшего к высшему):

  1. Значения по умолчанию из пакета vanessa-runner
  2. autumn-properties.json в текущем каталоге
  3. Переменные окружения
  4. Аргументы командной строки

Типичный workflow CI/CD

Пример типичного рабочего процесса в CI:

bash
# 1. Инициализация ИБ
vrunner infobase init \
  --src ./build/MyApp.cf \
  --ibconnection /F./tmp-ib

# 2. Обновление конфигурации (при необходимости)
vrunner infobase update \
  --ibconnection /F./tmp-ib

# 3. Запуск тестов
vrunner test xunit ./tests \
  --ibconnection /F./tmp-ib \
  --reportsxunit "jUnit{./build/reports/junit.xml}"

Вывод помощи

Для любой команды доступна встроенная справка. Единый синтаксис на всех уровнях — путь к нужной команде и флаг --help в конце:

bash
vrunner --help
vrunner cf --help
vrunner cf compile --help

Формы vrunner help cf и vrunner cf help не являются синтаксисом справки; используйте vrunner cf --help.