Интеграция с ИИ-ассистентами (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. Отличается только файл и формат конфигурации.
{
"mcpServers": {
"vrunner": {
"command": "vrunner-mcp"
}
}
}{
"mcpServers": {
"vrunner": {
"command": "vrunner-mcp"
}
}
}{
"servers": {
"vrunner": {
"type": "stdio",
"command": "vrunner-mcp"
}
}
}{
"mcpServers": {
"vrunner": {
"command": "vrunner-mcp"
}
}
}{
"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 Desktop —
claude_desktop_config.json(в меню Settings → Developer).
Запуск из исходников (без установки в PATH)
Если работаете с vanessa-runner из репозитория, укажите oscript и путь к точке входа src/mcp.os. Рабочим каталогом должен быть корень проекта:
{
"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 указывает, к какой базе подключиться.
Файловая ИБ:
--ibconnection /F<путь>Примеры: --ibconnection /F./ib, --ibconnection /FD:/bases/MyProject
Серверная ИБ (1С:Сервер предприятия):
--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 обязателен.
Примеры
Файловая ИБ
vrunner cf load \
--ibconnection /F./ib \
--db-user Admin \
--db-pwd secret \
./srcСерверная ИБ через Конфигуратор
vrunner cf load \
--ibconnection "/SMyServer\MyIB" \
--db-user Admin \
--db-pwd secret \
./srcСерверная ИБ через ibcmd
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Без базы (временная ИБ)
# ibcmd создаёт и удаляет временную базу автоматически
vrunner cf compile --ibcmd ./build/App.cfЗагрузка в существующую серверную ИБ через ibcmd
WARNING
infobase init не создаёт серверную ИБ. Создайте базу заранее - через консоль кластера 1С или ibcmd infobase create, затем загрузите конфигурацию:
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-version | VRUNNER_EDT_VERSION | Версия установленной EDT (например 2024.1) для выбора среди нескольких. Из неё определяется путь к 1cedtcli |
--edt-workspace | VRUNNER_EDT_WORKSPACE | Базовый каталог рабочей области EDT (по умолчанию - временный) |
--edt-timeout | VRUNNER_EDT_TIMEOUT | Таймаут операций 1cedtcli (export/import/build/validate) в секундах. По умолчанию 1cedtcli использует свой (60 минут) |
--edt-vmargs | VRUNNER_EDT_VMARGS | Дополнительный JVM-аргумент 1cedtcli; опцию можно указывать несколько раз |
Таймаут на больших конфигурациях. Конвертация и проверка через
1cedtcliпо умолчанию ограничены таймаутом в 60 минут. Для тяжёлых конфигураций (1С:ERP и т. п.) экспорт/импорт не успевает завершиться - увеличьте таймаут опцией--edt-timeout(например--edt-timeout 5400) или переменной окруженияVRUNNER_EDT_TIMEOUT.
Определение формата
При --src-format auto (по умолчанию) формат определяется по маркерам на диске:
- EDT - если в каталоге есть
.projectи исходники*.mdo(или служебный каталогDT-INF); - XML - если есть
Configuration.xml/ConfigDumpInfo.xml; - если в каталоге лежит ровно один вложенный EDT-проект - используется он;
- иначе каталог считается XML.
--src-format edt|xml отключает автоопределение и форсирует формат.
Поиск 1cedtcli
Путь к 1cedtcli определяется в порядке приоритета:
- поиск установленной EDT по версии
--edt-version(через библиотекуedtfind; без версии - берётся максимальная); - поиск в
PATH.
--edt-version- это версия 1С:EDT (например2024.1), она не связана с версией платформы 1С (--v8version, например8.3.24).
Инкрементальная загрузка из EDT
1cedtcli умеет только полный экспорт EDT → XML (нет частичной/инкрементальной выгрузки), а платформа не читает EDT напрямую. Поэтому при cf load --increment для EDT-исходников vanessa-runner:
- индексирует изменения по каталогу EDT-исходников (
.mdo/.bsl/.form- стабильные файлы), а не по временному XML-дампу, который пересоздаётся при каждом экспорте; - по диффу определяет изменённые объекты конфигурации (
<Вид>/<Имя>, напримерCatalogs/Справочник1); - выполняет полный экспорт EDT → XML, после чего грузит в базу только XML-файлы изменённых объектов.
Когда выполняется полная загрузка (а не выборочная):
- при первом запуске (индекс ещё не построен);
- при добавлении или удалении объектов/файлов под
src/; - при изменении корня конфигурации (
src/Configuration- состав метаданных, языки, общие настройки).
Если изменений в EDT-исходниках нет - загрузка пропускается целиком.
Выборочная загрузка применяется при модификации существующих объектов (правка модулей, форм, свойств) - это основной сценарий итеративной разработки.
vrunner cf load --ibconnection /F./ib --increment --src-format edt ./edt-projectПримеры
# Сборка 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-xmlcf - Операции с конфигурацией
Группа команд cf обеспечивает работу с конфигурацией 1С: сборку из исходников, разборку, загрузку в базу, выгрузку, создание файла поставки, объединение и сравнение.
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.
vrunner cf compile [опции] <OUT>Аргументы
| Аргумент | Описание |
|---|---|
OUT | Путь к создаваемому файлу конфигурации (.cf) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--s, --src | VRUNNER_SRC | Каталог исходников конфигурации (по умолчанию - текущий каталог) |
--list | - | Список файлов для выборочной загрузки |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ. Если не указана - автоматически создаётся временная ИБ |
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
# Собрать конфигурацию с помощью 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.cfdecompile
Разбирает конфигурацию в XML-исходники: из файла .cf либо напрямую из указанной информационной базы.
Если --cf-file задан — он загружается во временную (или указанную) ИБ, после чего конфигурация выгружается в исходники. Если --cf-file не задан — стадия загрузки пропускается и исходники выгружаются из ИБ, переданной через --ibconnection. Когда не указаны ни --cf-file, ни строка подключения (т.е. потребовалось бы создавать пустую временную ИБ), команда завершается с ошибкой — выгружать нечего.
vrunner cf decompile [опции] <OUT>Аргументы
| Аргумент | Описание |
|---|---|
OUT | Каталог для выгрузки исходников конфигурации |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--cf-file | VRUNNER_CF_FILE | Путь к CF-файлу для разборки. Если не задан — исходники выгружаются из ИБ, указанной в --ibconnection |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ. Если не указана - автоматически создаётся временная ИБ |
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
# Разобрать 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 ./srcload
Загружает конфигурацию в информационную базу из XML-исходников или CF-файла.
После загрузки конфигурация БД по умолчанию обновляется (UpdateDBCfg / config apply), чтобы изменения применились к базе. Флаг --no-update-db отключает обновление — команда только загружает основную конфигурацию.
vrunner cf load [опции] <SRC>Аргументы
| Аргумент | Описание |
|---|---|
SRC | Каталог исходников конфигурации или путь к CF-файлу |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--list | - | Список файлов для выборочной загрузки |
--increment | - | Инкрементальная загрузка по индексу изменений |
--no-update-db | - | Не обновлять конфигурацию БД после загрузки (по умолчанию БД обновляется) |
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Инкрементальная загрузка из EDT. Платформа не умеет инкрементально выгружать EDT, поэтому для EDT-исходников
--incrementдетектирует изменения по самому каталогу EDT (а не по временному XML-дампу): экспорт в XML выполняется полностью, но в базу выборочно грузятся только объекты, чьи.mdo/.bsl/.formизменились. Добавление/удаление объектов и изменения корня конфигурации (src/Configuration) выполняются полной загрузкой. См. Исходники EDT →.
Примеры
# Загрузить конфигурацию из исходников (с обновлением конфигурации БД)
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-projectunload
Выгружает конфигурацию из информационной базы в CF-файл.
vrunner cf unload [опции] <OUT>Аргументы
| Аргумент | Описание |
|---|---|
OUT | Путь к создаваемому CF-файлу (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
vrunner cf unload --ibconnection /F./ib ./backup/MyApp.cfmake-dist
Создаёт полный файл поставки конфигурации командой Конфигуратора /CreateDistributionFiles. Источником служит конфигурация указанной информационной базы; ibcmd эту операцию не поддерживает.
vrunner cf make-dist [опции] <OUT>Аргументы
| Аргумент | Описание |
|---|---|
OUT | Путь к создаваемому полному файлу поставки (.cf) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--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 | Тип СУБД для серверной ИБ |
--dbms-server | VRUNNER_DBMS_SERVER | Адрес сервера СУБД |
--dbms-base | VRUNNER_DBMS_BASE | Имя базы данных СУБД |
--dbms-user | VRUNNER_DBMS_USER | Пользователь СУБД |
--dbms-pwd | VRUNNER_DBMS_PWD | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Пример
vrunner cf make-dist --ibconnection /F./ib ./build/1Cv8-dist.cfmerge
Объединяет конфигурацию из CF-файла с конфигурацией информационной базы согласно файлу настроек.
vrunner cf merge [опции]Опции
| Опция | Описание |
|---|---|
--s, --src | Путь к CF-файлу с конфигурацией для объединения (обязательный) |
--merge-settings | Путь к файлу настроек объединения (обязательный) |
--enable-support | Поставить конфигурацию на поддержку |
--disable-support | Снять конфигурацию с поддержки |
--IncludeObjectsByUnresolvedRefs | Включить объекты с неразрешёнными ссылками |
--ClearUnresolvedRefs | Очищать неразрешённые ссылки |
--force | - |
--ibconnection | VRUNNER_IBCONNECTION |
--db-user | VRUNNER_DBUSER |
--db-pwd | VRUNNER_DBPWD |
--ibcmd | - |
--v8version | VRUNNER_V8VERSION |
--uccode | VRUNNER_UCCODE |
--language | VRUNNER_LANGUAGE |
--locale | VRUNNER_LOCALE |
--dbms-type | VRUNNER_DBMS_TYPE |
--dbms-server | VRUNNER_DBMS_SERVER |
--dbms-base | VRUNNER_DBMS_BASE |
--dbms-user | VRUNNER_DBMS_USER |
--dbms-pwd | VRUNNER_DBMS_PWD |
--settings | VRUNNER_SETTINGS |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
vrunner cf merge \
--s ./vendor/BSP.cf \
--merge-settings ./merge-settings.xml \
--ibconnection /F./ib \
--enable-supportcompare
Сравнивает два CF-файла или CF-файл с конфигурацией базы и формирует отчёт.
vrunner cf compare [опции]Опции
| Опция | По умолчанию | Переменная окружения | Описание |
|---|---|---|---|
--second-cf | - | - | Путь ко второму CF-файлу (с чем сравниваем) (обязательный) |
--first-cf | - | - | Путь к первому CF-файлу; если не задан - сравнивается конфигурация базы |
--report-dir | . | - | Каталог для сохранения отчёта (имя файла генерируется автоматически) |
--report-type | Full | - | Тип отчёта: Full (полный) или Brief (краткий) |
--report-format | txt | - | Формат файла: 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) |
Сравнение выполняется через Конфигуратор. Подробнее о форматах строки подключения: Подключение к базе данных →
Примеры
# Сравнить два 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 Briefmake-dist
В разработке
Команда cf make-dist находится в разработке и пока не реализована.
Создаёт файл поставки конфигурации.
vrunner cf make-dist [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
convert
Конвертирует каталог исходников конфигурации между форматами 1С:EDT и XML-дамп Конфигуратора.
Тип исходников определяется автоматически по маркерам каталога, а результат пишется в противоположном формате:
- каталог 1С:EDT (
.project+src/*.mdo) → XML-дамп Конфигуратора; - каталог XML-дампа (
Configuration.xml) → проект 1С:EDT.
Если тип исходников определить не удалось (в каталоге нет маркеров ни одного из форматов или найдено несколько вложенных EDT-проектов), команда завершается с ошибкой.
Конвертация выполняется утилитой 1cedtcli, поэтому требуется установленная 1С:EDT (см. Исходники в формате 1С:EDT →).
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) |
Примеры
# Конвертировать 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-исходников, разборку, загрузку в базу, выгрузку и сравнение.
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.
vrunner cfe compile [опции] <OUT>Аргументы
| Аргумент | Описание |
|---|---|
OUT | Путь к создаваемому файлу расширения (.cfe) (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--s, --src | VRUNNER_SRC | Каталог XML-исходников расширения (по умолчанию - текущий каталог) |
--extension-name | VRUNNER_EXTENSION_NAME | Имя расширения. Если не задано - берётся из имени каталога исходников |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ. Если не указана - автоматически создаётся временная ИБ |
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
# Явное имя расширения
vrunner cfe compile \
--s ./extensions/MyExtension/src \
--extension-name MyExtension \
--ibcmd \
./build/MyExtension.cfe
# Имя расширения определится автоматически из имени каталога исходников (MyExtension)
vrunner cfe compile --s ./extensions/MyExtension ./build/MyExtension.cfedecompile
Разбирает расширение в XML-исходники: из файла .cfe либо напрямую из указанной информационной базы.
Если --cfe-file задан — он загружается во временную (или указанную) ИБ, после чего расширение выгружается в исходники. Если --cfe-file не задан — стадия загрузки пропускается и расширение выгружается из ИБ, переданной через --ibconnection (расширение с именем --extension-name должно быть установлено в этой базе). Когда не указаны ни --cfe-file, ни строка подключения (т.е. потребовалось бы создавать пустую временную ИБ), команда завершается с ошибкой — выгружать нечего.
vrunner cfe decompile [опции] <OUT>Аргументы
| Аргумент | Описание |
|---|---|
OUT | Каталог для выгрузки XML-исходников расширения (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--cfe-file | VRUNNER_CFE_FILE | Путь к CFE-файлу для разборки. Если не задан — исходники выгружаются из ИБ, указанной в --ibconnection |
--extension-name | VRUNNER_EXTENSION_NAME | Имя расширения (обязательный) |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ. Если не указана - автоматически создаётся временная ИБ |
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
# Разобрать 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/srcload
Загружает расширение в информационную базу из 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.
vrunner cfe load [опции] <SRC>Аргументы
| Аргумент | Описание |
|---|---|
SRC | Каталог XML-исходников или путь к CFE-файлу |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--extension-name | VRUNNER_EXTENSION_NAME | Имя расширения в базе (по умолчанию берётся из имени каталога/файла) |
--safe-mode | - | Включить безопасный режим расширения (после загрузки; по умолчанию выключен) |
--active | - | Сделать расширение активным (после загрузки) |
--unsafe-action-protection | - | Включить защиту от опасных действий (после загрузки; по умолчанию выключена) |
--used-in-rib | - | Используется в РИБ (только ibcmd) |
--scope-infobase | - | Область действия - ИБ (только ibcmd) |
--increment | - | Инкрементальная загрузка по индексу изменений |
--no-update-db | - | Не обновлять конфигурацию БД после загрузки (по умолчанию БД обновляется; при пропуске свойства расширения не изменяются) |
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
# Загрузить расширение из исходников через 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.cfeunload
Выгружает расширение из информационной базы в CFE-файл.
vrunner cfe unload [опции] <OUT>Аргументы
| Аргумент | Описание |
|---|---|
OUT | Путь к создаваемому CFE-файлу (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--extension-name | VRUNNER_EXTENSION_NAME | Имя расширения в базе (обязательный) |
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
vrunner cfe unload \
--extension-name MyExtension \
--ibconnection /F./ib \
./backup/MyExtension.cfecompare
Сравнивает два CFE-файла или CFE-файл с расширением в базе.
vrunner cfe compare [опции]Опции
| Опция | По умолчанию | Переменная окружения | Описание |
|---|---|---|---|
--extension-name | - | VRUNNER_EXTENSION_NAME | Имя расширения (обязательный) |
--second-cfe | - | - | Путь ко второму CFE-файлу (обязательный) |
--first-cfe | - | - | Путь к первому CFE-файлу; если не задан - сравнивается с расширением в базе |
--report-dir | . | - | Каталог для отчёта (имя файла генерируется автоматически) |
--report-type | Full | - | Тип отчёта: Full (полный) или Brief (краткий) |
--report-format | txt | - | Формат файла: 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) |
Сравнение выполняется через Конфигуратор. Подробнее о форматах строки подключения: Подключение к базе данных →
Примеры
vrunner cfe compare \
--extension-name MyExtension \
--first-cfe ./old/MyExtension.cfe \
--second-cfe ./new/MyExtension.cfe \
--report-dir ./reportsNOTE
Проверка применимости уже установленных расширений переехала в команду 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 →).
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) |
Примеры
# Конвертировать EDT-проект расширения в XML-дамп Конфигуратора (тип определится автоматически)
vrunner cfe convert --src ./edt-extension ./build/xml
# Обратная конвертация: XML-дамп → проект 1С:EDT
vrunner cfe convert --src ./build/xml ./edt-extensionepf - Операции с внешними обработками
Группа команд epf обеспечивает работу с внешними обработками и отчётами 1С (.epf, .erf): сборку из XML-исходников, разборку и конвертацию проектов 1С:EDT.
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.
vrunner epf convert [опции] <OUT>Аргументы
| Аргумент | Описание |
|---|---|
OUT | Каталог результата в противоположном формате (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
-s, --src | VRUNNER_SRC | Каталог источника: EDT-проект или XML-дампы (по умолчанию - текущий каталог) |
--edt-version | VRUNNER_EDT_VERSION | Версия установленной 1С:EDT |
--edt-workspace | VRUNNER_EDT_WORKSPACE | Базовый каталог временной рабочей области EDT |
--edt-timeout | VRUNNER_EDT_TIMEOUT | Таймаут операций 1cedtcli в секундах |
--edt-vmargs | VRUNNER_EDT_VMARGS | JVM-аргумент 1cedtcli; опцию можно повторять |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек JSON |
Только опции EDT
В отличие от epf compile/epf decompile, команде convert не нужны опции подключения, платформы, ibcmd и СУБД: она не создаёт временную базу и не собирает .epf.
Примеры
# 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. В одном дереве исходников обработки и отчёты могут лежать вперемешку — каждый объект соберётся со своим расширением.
vrunner epf compile [опции] [SRC]Аргументы
| Аргумент | Описание |
|---|---|
SRC | Каталог с XML-исходниками обработок и отчётов (по умолчанию - текущий каталог) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--R, --recursive | - | Рекурсивный поиск обработок и отчётов в подкаталогах |
--out | - | Каталог для сохранения собранных обработок и отчётов |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ. Если не указана - автоматически создаётся временная ИБ |
--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 | Пароль СУБД |
--src-format | - | Формат исходников: auto (по умолчанию), xml, edt |
--edt-version, --edt-workspace, --edt-timeout, --edt-vmargs | VRUNNER_EDT_* | Параметры 1С:EDT (для --src-format edt) |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Исходники 1С:EDT
Если SRC — проект внешних объектов 1С:EDT (--src-format edt или автоопределение), compile сначала выгружает его в XML через 1cedtcli (export), затем собирает .epf/.erf из полученных XML. Требуется установленная 1С:EDT.
Примеры
# Собрать все обработки в текущем каталоге
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-исходники. При обходе каталога подхватываются оба расширения.
vrunner epf decompile [опции] <SRC>Аргументы
| Аргумент | Описание |
|---|---|
SRC | Путь к EPF/ERF-файлу или каталогу с ними (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--R, --recursive | - | Рекурсивный поиск EPF/ERF-файлов (для каталога) |
--out | - | Каталог для сохранения разобранных исходников |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ. Если не указана - автоматически создаётся временная ИБ |
--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 | Пароль СУБД |
--src-format | - | Формат выгрузки: auto/xml (XML Конфигуратора) или edt (проект 1С:EDT) |
--edt-version, --edt-workspace, --edt-timeout, --edt-vmargs | VRUNNER_EDT_* | Параметры 1С:EDT (для --src-format edt) |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения, ibcmd и опциях СУБД: Подключение к базе данных →
Выгрузка в 1С:EDT
С --src-format edt команда разбирает .epf/.erf во временный XML и затем импортирует его в EDT-проект внешних объектов через 1cedtcli (import). Требуется установленная 1С:EDT.
Примеры
# Разобрать один файл
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.epfinfobase - Управление информационными базами
Группа команд infobase обеспечивает создание, обновление и управление информационными базами 1С: инициализацию, обновление конфигурации БД, выгрузку и восстановление резервных копий.
vrunner infobase <подкоманда> [опции] [аргументы]init
Создаёт информационную базу и опционально загружает в неё конфигурацию из указанного источника.
vrunner infobase init [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--src | VRUNNER_SOURCE | Источник конфигурации: каталог исходников (XML-дамп или 1С:EDT), .cf или .dt файл. Псевдоним (для обратной совместимости): --source |
--ext | - | Расширение для загрузки: .cfe-файл или каталог XML/EDT-исходников. Можно указать несколько раз. Имя расширения определяется из имени файла/каталога |
--src-format | - | Формат каталога исходников (применяется и к --src, и к --ext): auto (по умолчанию), edt, xml. См. 1С:EDT |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения. Если не указана - создаётся файловая ИБ в build/ib |
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о подключении, ibcmd и опциях СУБД: Подключение к базе данных →
Логика работы
- Если
--ibconnectionне указан - создаётся файловая ИБ вbuild/ib - Если
--ibconnection /F...- создаётся файловая ИБ по указанному пути - Если указана серверная строка подключения (
/S...) - ИБ должна уже существовать - Загрузка конфигурации из
--src(если задан) - Загрузка расширений из
--ext(если заданы) и применение их к БД
Примеры
# Создать пустую файловую ИБ
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 secretupdate
Обновляет конфигурацию БД информационной базы. Опционально загружает конфигурацию из нового источника перед обновлением.
vrunner infobase update [опции]Опции
| Опция | По умолчанию | Описание |
|---|---|---|
--src | - | Источник конфигурации: каталог исходников или .cf файл. Псевдоним (для обратной совместимости): --source |
--target | - | Цель обновления: main - основная конфигурация; имя расширения - конкретное расширение; пусто - всё |
--rtype | v1 | Режим реструктуризации: v1 (обычный), v2 (оптимизированный) |
--increment | - | Инкрементальная загрузка по индексу изменений |
--dynamic | - | Разрешить динамическое обновление конфигурации |
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о подключении, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
# Обновить конфигурацию БД (загрузить исходники уже в базе)
vrunner infobase update --ibconnection /F./ib
# Загрузить новую конфигурацию и обновить БД
vrunner infobase update \
--src ./build/MyApp.cf \
--ibconnection /F./ib \
--rtype v2
# Обновить с динамическим обновлением
vrunner infobase update \
--ibconnection /F./ib \
--dynamicdump-dt
Выгружает информационную базу в файл резервной копии (.dt).
vrunner infobase dump-dt [опции] <OUT>Аргументы
| Аргумент | Описание |
|---|---|
OUT | Путь к создаваемому DT-файлу (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о подключении, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
vrunner infobase dump-dt \
--ibconnection /F./ib \
--v8version 8.3.24 \
./backup/MyProject_2026-04.dtrestore-dt
Восстанавливает информационную базу из файла резервной копии (.dt).
vrunner infobase restore-dt [опции] <SRC>Аргументы
| Аргумент | Описание |
|---|---|
SRC | Путь к DT-файлу для восстановления (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--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 | Пароль СУБД |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о подключении, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
vrunner infobase restore-dt \
--ibconnection /F./ib \
./backup/MyProject_2026-04.dtcreate-user
Создаёт пользователя в информационной базе. Пользователь создаётся только если в ИБ ещё нет ни одного пользователя; по умолчанию ему назначаются роли полного доступа (ПолныеПрава, АдминистраторСистемы). Набор ролей можно переопределить ключами --role, что позволяет создавать не только администратора, но и пользователя с произвольным набором прав. Команда работает на конфигурациях, основанных на БСП, и запускается в режиме 1С:Предприятие.
vrunner infobase create-user [--role <РОЛЬ>]... [опции] <NAME>Аргументы
| Аргумент | Описание |
|---|---|
NAME | Имя создаваемого пользователя (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--role | - | Имя роли для назначения пользователю. Можно указать несколько раз. По умолчанию: ПолныеПрава, АдминистраторСистемы |
--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 |
--dbms-server | VRUNNER_DBMS_SERVER | Адрес сервера СУБД |
--dbms-base | VRUNNER_DBMS_BASE | Имя базы данных СУБД |
--dbms-user | VRUNNER_DBMS_USER | Пользователь СУБД |
--dbms-pwd | VRUNNER_DBMS_PWD | Пароль СУБД |
Подробнее о подключении, ibcmd и опциях СУБД: Подключение к базе данных →
Примеры
# Создать администратора с именем "Администратор" в файловой ИБ (роли по умолчанию)
vrunner infobase create-user --ibconnection /F./ib Администратор
# Создать пользователя с произвольным набором ролей
vrunner infobase create-user \
--role ЧтениеДанных \
--role РаботаСЗаказами \
--ibconnection /F./ib \
Операторlock-resources
Разрешает или запрещает работу информационной базы с внешними ресурсами (использует механизм Библиотеки стандартных подсистем). Необходимо указать ровно один из взаимоисключающих флагов --allow или --deny.
vrunner infobase lock-resources (--allow | --deny) [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--allow | - | Разрешить работу с внешними ресурсами |
--deny | - | Запретить работу с внешними ресурсами |
--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 | Язык сеанса (локаль) |
Подробнее о подключении и ibcmd: Подключение к базе данных →
Примеры
# Запретить работу с ВНЕШНИМИ ресурсами, например на развёрнутой копии базы,
# чтобы она случайно не отправляла письма/обмены в боевые системы
vrunner infobase lock-resources --deny --ibconnection /F./ib
# Снова разрешить работу с внешними ресурсами
vrunner infobase lock-resources --allow --ibconnection /F./ibscheduled-job
Группа команд управления регламентными заданиями (использует механизм Библиотеки стандартных подсистем). Позволяет включать и отключать регламентное задание по имени его метаданных.
vrunner infobase scheduled-job <enable | disable> [опции] <JOB>Аргументы
| Аргумент | Описание |
|---|---|
JOB | Имя метаданных регламентного задания (обязательный) |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--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 | Язык сеанса (локаль) |
Подробнее о подключении и ibcmd: Подключение к базе данных →
Примеры
# Отключить регламентное задание извлечения текста
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 создаёт пустое расширение конфигуратором.
vrunner infobase extensions <list | check | create | delete | set-options> [опции]list
Выводит список установленных расширений. По умолчанию - только имена; с флагом --verbose/-v - таблица с именем, версией, активностью, безопасным режимом, защитой от опасных действий и режимом основных ролей.
vrunner infobase extensions list [-v] [опции]| Опция | Описание |
|---|---|
--verbose, -v | Подробный вывод: таблица с параметрами расширений (по умолчанию - только имена) |
check
Проверяет применимость установленных расширений без их загрузки. Без аргумента NAME проверяются все расширения, иначе - только указанное.
vrunner infobase extensions check [опции] [NAME]| Аргумент | Описание |
|---|---|
NAME | Имя конкретного расширения для проверки (по умолчанию - все) |
create
Создаёт пустое расширение конфигурации с заданным именем (загрузкой минимальных исходников через конфигуратор). Если расширение с таким именем уже существует - команда завершается ошибкой; чтобы пересоздать его, укажите --overwrite.
vrunner infobase extensions create [--overwrite] [опции] <NAME>| Аргумент | Описание |
|---|---|
NAME | Имя создаваемого расширения (обязательный) |
| Опция | Описание |
|---|---|
--overwrite | Пересоздать расширение, если оно уже существует |
delete
Удаляет установленное расширение по имени. Если расширение не найдено - команда завершается ошибкой.
vrunner infobase extensions delete [опции] <NAME>| Аргумент | Описание |
|---|---|
NAME | Имя удаляемого расширения (обязательный) |
set-options
Изменяет свойства уже установленного расширения по имени без его перезагрузки. Меняются только явно переданные параметры; опущенные остаются без изменений.
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: Подключение к базе данных →
Примеры
# Список установленных расширений (только имена)
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С: подключение, загрузку изменений, управление пользователями, фиксацию изменений, блокировку и разблокировку.
vrunner repo <подкоманда> [опции] [аргументы]Подключение и платформа
Большинство подкоманд repo работают с информационной базой и хранилищем. Строка подключения и опции СУБД описаны на странице Подключение к базе данных.
create
Создаёт новое хранилище конфигурации 1С.
vrunner repo create [опции]Примеры
vrunner repo create \
--storage-name D:/repos/MyProject \
--storage-user Администратор \
--storage-pwd secret \
--ibconnection /F./ibbind
Подключает информационную базу к хранилищу конфигурации.
vrunner repo bind [опции]Опции
| Опция | Описание |
|---|---|
--ignore-already-bound | Не считать ошибкой, если ИБ уже подключена к хранилищу |
--do-not-replace-cfg | - |
--ibconnection | VRUNNER_IBCONNECTION |
--db-user | VRUNNER_DBUSER |
--db-pwd | VRUNNER_DBPWD |
--ibcmd | - |
--v8version | VRUNNER_V8VERSION |
--uccode | VRUNNER_UCCODE |
--language | VRUNNER_LANGUAGE |
--locale | VRUNNER_LOCALE |
--storage-name | VRUNNER_STORAGE_NAME |
--storage-user | VRUNNER_STORAGE_USER |
--storage-pwd | VRUNNER_STORAGE_PWD |
--storage-ver | VRUNNER_STORAGE_VER |
--settings | VRUNNER_SETTINGS |
Примеры
vrunner repo bind \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--ibconnection /F./ib \
--ignore-already-boundunbind
Отключает информационную базу от хранилища конфигурации.
vrunner repo unbind [опции]Примеры
vrunner repo unbind \
--ibconnection /F./ib \
--storage-user DevUser \
--storage-pwd secretload
Обновляет конфигурацию информационной базы из хранилища (загружает последнюю версию).
vrunner repo load [опции]Примеры
vrunner repo load \
--ibconnection /F./ib \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--storage-ver 42commit
Помещает изменения в хранилище конфигурации (фиксирует захваченные объекты).
vrunner repo commit [опции]Опции
| Опция | Описание |
|---|---|
--objects | Путь к XML-файлу со списком объектов для помещения |
--comment | Комментарий к фиксируемым объектам |
--keep-locked | Оставить объекты захваченными после помещения |
--force | - |
--ibconnection | VRUNNER_IBCONNECTION |
--db-user | VRUNNER_DBUSER |
--db-pwd | VRUNNER_DBPWD |
--ibcmd | - |
--v8version | VRUNNER_V8VERSION |
--uccode | VRUNNER_UCCODE |
--language | VRUNNER_LANGUAGE |
--locale | VRUNNER_LOCALE |
--dbms-type | VRUNNER_DBMS_TYPE |
--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 |
Примеры
vrunner repo commit \
--ibconnection /F./ib \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--comment "Задача #123: добавлены новые справочники"save-cf
Сохраняет конфигурацию из хранилища в CF-файл.
vrunner repo save-cf [опции] [OUT]Аргументы
| Аргумент | Описание |
|---|---|
OUT | Путь к создаваемому CF-файлу |
Примеры
vrunner repo save-cf \
--storage-name D:/repos/MyProject \
--storage-user DevUser \
--storage-pwd secret \
--storage-ver 100 \
./build/MyApp.cfcreate-user
Создаёт пользователя в хранилище конфигурации.
vrunner repo create-user [опции]copy-user
Копирует права пользователя хранилища от одного пользователя к другому.
vrunner repo copy-user [опции]lock
Устанавливает блокировку объектов хранилища для захвата.
vrunner repo lock [опции]unlock
Снимает захват объектов хранилища.
vrunner repo unlock [опции]cluster - Управление кластером серверов
Группа команд cluster обеспечивает управление кластером серверов 1С через утилиты rac/ras: получение информации, создание и удаление кластера, управление сеансами и фоновыми заданиями.
vrunner cluster <подкоманда> [опции]Подключение и администрирование
Все подкоманды cluster управляют кластером через утилиту rac/ras. Подробнее о строке подключения: Подключение к базе данных.
Опции, доступные всем подкомандам:
| Опция | Переменная окружения | Описание |
|---|---|---|
--ras | VRUNNER_RAS | Сетевой адрес RAS (по умолчанию localhost:1545) |
--rac | VRUNNER_RAC | Путь к утилите rac |
--db-name | VRUNNER_IBNAME | Имя информационной базы в кластере |
--cluster | - | Идентификатор кластера |
--cluster-name | - | Имя кластера |
--cluster-admin | VRUNNER_CLUSTERADMIN_USER | Имя администратора кластера |
--cluster-pwd | VRUNNER_CLUSTERADMIN_PWD | Пароль администратора кластера |
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения к ИБ (для идентификации базы в кластере) |
--db-user | VRUNNER_DBUSER | Пользователь ИБ |
--db-pwd | VRUNNER_DBPWD | Пароль пользователя ИБ |
--v8version | VRUNNER_V8VERSION | Версия платформы 1С |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
TIP
cluster create дополнительно использует опции СУБД (--dbms-type, --dbms-server, --dbms-base, --dbms-user, --dbms-pwd).
info
Выводит информацию об информационной базе в кластере.
vrunner cluster info [опции]Примеры
vrunner cluster info \
--ras localhost:1545 \
--db-name MyInfobase \
--cluster-admin ClusterAdmin \
--cluster-pwd secretcreate
Создаёт новый кластер серверов 1С.
vrunner cluster create [опции]remove
Удаляет кластер серверов 1С.
vrunner cluster remove [опции]session
Группа подкоманд для управления сеансами информационной базы.
vrunner cluster session <подкоманда> [опции]session lock
Блокирует новые сеансы для информационной базы.
vrunner cluster session lock [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--uccode | VRUNNER_UCCODE | Код допуска к заблокированной ИБ |
--denied-message | - | Сообщение, отображаемое при попытке начать сеанс |
--ras | VRUNNER_RAS | Сетевой адрес RAS (по умолчанию localhost:1545) |
--rac | VRUNNER_RAC | Путь к утилите rac |
--db-name | VRUNNER_IBNAME | Имя ИБ в кластере |
--cluster | - | Идентификатор кластера |
--cluster-name | - | Имя кластера |
--cluster-admin | VRUNNER_CLUSTERADMIN_USER | Имя администратора кластера |
--cluster-pwd | VRUNNER_CLUSTERADMIN_PWD | Пароль администратора кластера |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Примеры
vrunner cluster session lock \
--ras localhost:1545 \
--db-name MyInfobase \
--cluster-admin ClusterAdmin \
--cluster-pwd secret \
--uccode MySecretCode \
--denied-message "База закрыта на обслуживание. Используйте код: MySecretCode"session unlock
Снимает блокировку новых сеансов для информационной базы.
vrunner cluster session unlock [опции]Примеры
vrunner cluster session unlock \
--ras localhost:1545 \
--db-name MyInfobase \
--cluster-admin ClusterAdmin \
--cluster-pwd secretsession kill
Принудительно завершает активные сеансы информационной базы. Перед завершением блокирует начало новых сеансов (отключается опцией --no-lock).
Завершение проверяется: rac завершает сеансы асинхронно, а зависшие сеансы могут не завершиться с первой попытки, поэтому после каждой попытки команда выдерживает паузу (3 секунды), перечитывает список и добивает оставшиеся сеансы повторно. Если после исчерпания лимита попыток сеансы остались — команда печатает их и завершается с кодом возврата 1.
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.
Примеры
# Завершить все сеансы
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 120session closed
Проверяет отсутствие активных сеансов информационной базы, а с опцией --timeout — дожидается их завершения. Если по итогам сеансы остались, печатает их список и завершается с ненулевым кодом возврата — удобно как шаг пайплайна: после session lock дождаться завершения фоновых заданий перед обновлением.
vrunner cluster session closed [опции]Опции
| Опция | Описание |
|---|---|
--timeout | Время ожидания завершения сеансов, сек: проверка повторяется каждые 3 секунды. По умолчанию 0 — одна проверка без ожидания |
--filter-app / --filter-name / --filter-except | Отбор сеансов — те же опции, что у session kill |
Примеры
# Убедиться, что сеансов нет (код возврата 1, если есть)
vrunner cluster session closed --db-name MyInfobase
# Дождаться (до 5 минут), пока фоновые задания сами завершатся
vrunner cluster session closed \
--db-name MyInfobase \
--filter-app BackgroundJob \
--timeout 300session list
Выводит список сеансов информационной базы с детализацией: номер сеанса, приложение, пользователь, компьютер, время начала и последней активности. Поддерживает те же опции отбора, что и kill/closed.
vrunner cluster session list [опции]Опции
| Опция | Описание |
|---|---|
--connections | Дополнительно вывести соединения ИБ (номер, приложение, компьютер, номер сеанса, время установки) — в том числе зависшие соединения без сеанса |
--filter-app / --filter-name / --filter-except | Отбор сеансов — те же опции, что у session kill |
Примеры
# Все сеансы базы
vrunner cluster session list --db-name MyInfobase
# Только фоновые задания
vrunner cluster session list --db-name MyInfobase --filter-app BackgroundJob
# Сеансы вместе с соединениями (диагностика зависших)
vrunner cluster session list --db-name MyInfobase --connectionsjobs
Группа подкоманд для управления фоновыми заданиями информационной базы.
vrunner cluster jobs <подкоманда> [опции]jobs lock
Блокирует выполнение фоновых заданий для информационной базы.
vrunner cluster jobs lock [опции]jobs unlock
Снимает блокировку фоновых заданий для информационной базы.
vrunner cluster jobs unlock [опции]Типичный сценарий: обновление под нагрузкой
# 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С:Предприятия и Конфигуратора с нужными параметрами из командной строки.
vrunner run <подкоманда> [опции]enterprise
Запускает 1С:Предприятие в указанном режиме.
vrunner run enterprise [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--command | VRUNNER_COMMAND | Строка, передаваемая в параметр /C |
--execute | VRUNNER_EXECUTE | Путь к внешней обработке 1С для запуска (поддерживается переменная $runnerRoot) |
--url | - | Навигационная ссылка для перехода после старта |
--no-wait | - | Не ожидать завершения запущенного процесса |
--exitCodePath | - | Путь к файлу статуса выполнения (0=успех, 1=ошибка, 2=предупреждение) |
--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 | Язык сеанса (локаль) |
--nocacheuse | VRUNNER_NOCACHEUSE | Не использовать кеш платформы |
--ordinaryapp | VRUNNER_ORDINARYAPP | Режим запуска: 1 (толстый), 0 (тонкий), -1 (авто) |
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры запуска платформы |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения и ibcmd: Подключение к базе данных →
Примеры
# Запустить обработку для первоначального заполнения ИБ
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С.
vrunner run designer [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры запуска конфигуратора |
--no-wait | - | Не ожидать завершения |
--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 | Язык сеанса (локаль) |
--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: Подключение к базе данных →
Примеры
# Запустить конфигуратор с дополнительными ключами
vrunner run designer \
--ibconnection /F./ib \
--additional "/DumpConfigToFiles ./src"
# Запустить и не ждать завершения
vrunner run designer \
--ibconnection /F./ib \
--no-waittest - Запуск тестов
Группа команд test обеспечивает запуск автоматизированного тестирования 1С-конфигураций: модульного (xUnit) и функционального (BDD) через фреймворк Vanessa-ADD, а также модульного через фреймворк YAxUnit.
vrunner test <подкоманда> [опции] [аргументы]Все три подкоманды умеют собирать покрытие кода тестами — см. Сбор покрытия тестами →.
xunit
Запускает модульные тесты через обработку xddTestRunner.epf (xUnit for 1C).
vrunner test xunit [опции] [TESTSPATH]Аргументы
| Аргумент | Переменная окружения | Описание |
|---|---|---|
TESTSPATH | VRUNNER_TESTSPATH | Путь к каталогу или файлу с тестами, или к встроенным тестам (с --config-tests). Поддерживается макрос $addRoot — каталог установки vanessa-add |
Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--workspace | VRUNNER_WORKSPACE | Путь к папке проекта для макросов $workspace (по умолчанию - текущий) |
--pathxunit | VRUNNER_PATHXUNIT | Путь к внешней обработке xddTestRunner.epf (по умолчанию из vanessa-add) |
--reportsxunit | VRUNNER_REPORTSXUNIT | Параметры формирования отчётов: Формат{Путь};Формат{Путь} — подробнее |
--reportxunit | - | Путь к каталогу с отчётом jUnit (устарел, используйте --reportsxunit) |
--xddExitCodePath | - | Путь к файлу статуса (0=пройдены, 1=не пройдены) |
--xddConfig | - | Путь к конфигурационному файлу xUnitFor1c |
--testclient | - | Параметры тест-клиента: Пользователь:Пароль:Порт |
--testclient-additional | - | Дополнительные параметры запуска тест-клиента |
--config-tests | VRUNNER_CONFIG_TESTS | Загружать тесты, встроенные в конфигурацию |
--no-wait | - | Не ожидать завершения |
--xdddebug | - | Выводить отладочные сообщения при прогоне |
--no-shutdown | - | Не завершать 1С после выполнения тестов |
--clear-reports | - | Очищать каталоги отчётов перед запуском |
--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 | Язык сеанса (локаль) |
--nocacheuse | VRUNNER_NOCACHEUSE | Не использовать кеш платформы |
--ordinaryapp | VRUNNER_ORDINARYAPP | Режим запуска: 1 (толстый), 0 (тонкий), -1 (авто) |
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры запуска платформы |
--settings | VRUNNER_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{путь}) — в том числе генератора-плагина, которого нет в кратком списке.
Примеры
# Запустить тесты и сформировать 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}" \
./testsyaxunit
Запускает модульные тесты через фреймворк YAxUnit. В отличие от xUnit, YAxUnit не требует внешней обработки-раннера: движок фреймворка и сами тесты подключаются к информационной базе как расширения конфигурации и исполняются внутри 1С:Предприятия.
vrunner test yaxunit [опции]Предварительная подготовка ИБ
Перед запуском в информационную базу должны быть загружены через cfe load (обновление конфигурации БД к базе выполняется по умолчанию):
- расширение-движок YAxUnit (
.cfeсо страницы релизов проекта); - расширение(я) с тестовыми модулями — общими модулями, регистрирующими тесты в процедуре
ИсполняемыеСценарии.
Без применения к базе (не указывайте --no-update-db) модули тестов не попадут в метаданные сеанса, и YAxUnit их не обнаружит. Движку также требуется отключённый безопасный режим (у загруженного расширения он выключен по умолчанию) — иначе он не сможет прочитать файл запуска.
Опции
Конфигурацию запуска YAxUnit можно задать двумя способами: передать готовый файл через --yaxunit-config (используется как есть) либо собрать её из опций фильтрации и отчёта, перечисленных ниже.
| Опция | Переменная окружения | Описание |
|---|---|---|
--yaxunit-config | VRUNNER_YAXUNIT_CONFIG | Путь к готовому yaxunit.json — используется как есть, опции фильтрации и отчёта игнорируются |
--ext | VRUNNER_YAXUNIT_EXT | Имена расширений с тестами через запятую (filter.extensions) |
--modules | - | Имена модулей с тестами через запятую (filter.modules) |
--tests | - | Полные имена тестов через запятую в формате Модуль.Тест (filter.tests) |
--tags | - | Теги тестов через запятую (filter.tags) |
--suites | - | Имена наборов тестов через запятую (filter.suites) |
--report | VRUNNER_YAXUNIT_REPORT | Путь к файлу или каталогу отчёта (reportPath); если не указан — отчёт jUnit формируется во временном файле |
--report-format | - | Формат отчёта: jUnit (по умолчанию), JSON, allure |
--exitcode | VRUNNER_YAXUNIT_EXITCODE | Путь к файлу кода возврата тестирования (0 - пройдены, 1 - есть ошибки) |
--project-path | VRUNNER_PROJECT_PATH | Корневой каталог проекта для зависимостей ФайлыПроекта (projectPath); по умолчанию - каталог запуска vrunner |
--workspace | VRUNNER_WORKSPACE | Рабочий каталог пространства YAxUnit (workspacePath) |
--show-report | - | Открывать форму отчёта после тестов (по умолчанию выключено) |
--no-close | - | Не закрывать 1С:Предприятие после выполнения тестов |
--no-wait | - | Не ожидать завершения |
--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 | Язык сеанса (локаль) |
--nocacheuse | VRUNNER_NOCACHEUSE | Не использовать кеш платформы |
--ordinaryapp | VRUNNER_ORDINARYAPP | Режим запуска: 1 (толстый), 0 (тонкий), -1 (авто) |
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры запуска платформы |
--settings | VRUNNER_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 (по умолчанию); для прочих форматов выводится только путь к отчёту.
Примеры
# Минимальный запуск: только подключение (отчёт во временный файл + саммари в консоль)
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).
vrunner test vanessa [опции]Опции
| Опция | Переменная окружения | Описание |
|---|---|---|
--feature-path | VRUNNER_FEATUREPATH | Путь к каталогу с фичами или к конкретному файлу .feature. Передаётся в Vanessa-ADD через переменную окружения VANESSA_FEATUREPATH и переопределяет КаталогФич из настроек. Несовместим с --ordinaryapp 1 |
--bddrunner-path | VRUNNER_PATHVANESSA | Путь к bddRunner.epf (по умолчанию из vanessa-add) |
--vanessasettings | VRUNNER_VANESSASETTINGS | Путь к файлу настроек фреймворка тестирования |
--workspace | VRUNNER_WORKSPACE | Путь к папке проекта |
--tags-ignore | - | Теги для игнорирования файлов фич |
--tags-filter | - | Теги для фильтрации файлов фич |
--additional-keys | - | Дополнительные параметры, передаваемые в /C |
--no-wait | - | Не ожидать завершения |
--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 | Язык сеанса (локаль) |
--nocacheuse | VRUNNER_NOCACHEUSE | Не использовать кеш платформы |
--ordinaryapp | VRUNNER_ORDINARYAPP | Режим запуска: 1 (толстый), 0 (тонкий), -1 (авто) |
--additional | VRUNNER_ADDITIONAL | Дополнительные параметры запуска платформы |
--settings | VRUNNER_SETTINGS | Путь к файлу настроек (JSON) |
Подробнее о форматах строки подключения и ibcmd: Подключение к базе данных →
Примеры
# Запустить все фичи
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.featurevanessasettings
Файл настроек vb-params.json содержит конфигурацию Vanessa-ADD: пути к отчётам, настройки скриншотов, тайм-ауты и другие параметры. Документацию по формату файла см. в репозитории vanessa-add.
Покрытие тестами
Все три подкоманды (xunit, yaxunit, vanessa) умеют собирать покрытие кода тестами в XML-отчёт (genericCoverage, Cobertura, Clover). Сбор включается одной опцией — --coverage-report. Как это устроено, форматы отчёта, работа с сервером отладки и клиент-серверными базами — в отдельной статье: Сбор покрытия тестами →.
vrunner test yaxunit --ibconnection /F./ib --coverage-report ./build/coverage.xmlОпции покрытия
| Опция | Переменная окружения | Описание |
|---|---|---|
--coverage-report | VRUNNER_COVERAGE_REPORT | Путь к файлу отчёта. Если задан — покрытие собирается |
--coverage-format | VRUNNER_COVERAGE_FORMAT | Формат отчёта: generic (по умолчанию), cobertura, clover |
--coverage-src | VRUNNER_COVERAGE_SRC | Каталог исходников конфигурации (по умолчанию ./src) |
--coverage-ext | - | Каталог исходников расширения (можно указать несколько раз) |
--coverage-server | VRUNNER_COVERAGE_SERVER | Сервер отладки [хост:]порт (пусто/порт — локально; хост:порт — существующий) |
--coverage-dbgs | VRUNNER_COVERAGE_DBGS | Путь к серверу отладки dbgs (по умолчанию — по версии платформы) |
--coverage-alias | VRUNNER_COVERAGE_ALIAS | Имя (алиас) ИБ для сессии отладки |
--coverage-debug-pwd | VRUNNER_COVERAGE_DEBUG_PWD | Пароль сервера отладки |
--coverage-skip-lines | VRUNNER_COVERAGE_SKIP_LINES | Не считать процент покрытия (только исполненные строки) |
Подробности, ограничения и примеры: Сбор покрытия тестами →.
Сбор покрытия тестами
Команды группы test — test xunit, test yaxunit, test vanessa — умеют собирать покрытие кода тестами: какие строки модулей конфигурации и расширений выполнились во время прогона. Результат сохраняется в XML-отчёт (genericCoverage, Cobertura или Clover), пригодный для SonarQube и других систем анализа.
Сбор включается единственной опцией — --coverage-report (путь к файлу отчёта). Всё остальное имеет разумные значения по умолчанию: сервер отладки поднимается автоматически, исходники ищутся в ./src, знаменатель для процента покрытия считается сам.
vrunner test yaxunit --ibconnection /F./ib --coverage-report ./build/coverage.xmlКак это работает
Покрытие снимается по итогам прогона тестов через штатный сервер отладки 1С (dbgs):
- Поднимается сервер отладки
dbgs(либо используется уже запущенный — см. Сервер отладки). - Открывается сессия сбора нативной компонентой coveragebsl, тесты запускаются в 1С:Предприятии с подключённым отладчиком.
- Параллельно с прогоном во фоновом процессе считается знаменатель — все покрываемые (исполняемые) строки исходников утилитой lines-to-cover (можно отключить).
- После завершения тестов данные забираются, модули 1С сопоставляются с файлами исходников (XML-дамп Конфигуратора или 1С:EDT), исполненные строки объединяются с покрываемыми.
- Формируется файл отчёта в выбранном формате, а в консоль выводится процент покрытия.
Компоненты coverage и coveragebsl входят в поставку vanessa-runner и подключаются автоматически только при включённом покрытии — на обычные команды test они не влияют.
Пример вывода в консоль:
Включён сбор покрытия, отчёт: build/coverage.xml
...
Покрытие строк: 78% (покрыто 39 из 50)
Отчёт покрытия сформирован: build/coverage.xmlОпции
Опции покрытия одинаковы для всех трёх подкоманд test.
| Опция | Переменная окружения | Описание |
|---|---|---|
--coverage-report | VRUNNER_COVERAGE_REPORT | Путь к файлу отчёта. Если задан — покрытие собирается (единственный включатель) |
--coverage-format | VRUNNER_COVERAGE_FORMAT | Формат отчёта: generic (по умолчанию), cobertura, clover |
--coverage-src | VRUNNER_COVERAGE_SRC | Каталог исходников конфигурации для сопоставления модулей (по умолчанию ./src, рекурсивный поиск) |
--coverage-ext | - | Каталог исходников расширения для покрытия. Можно указать несколько раз |
--coverage-server | VRUNNER_COVERAGE_SERVER | Сервер отладки [хост:]порт. Пусто/порт — поднять свой локально; хост:порт — подключиться к уже запущенному |
--coverage-dbgs | VRUNNER_COVERAGE_DBGS | Путь к исполняемому файлу сервера отладки dbgs (по умолчанию определяется по версии платформы) |
--coverage-alias | VRUNNER_COVERAGE_ALIAS | Имя (алиас) ИБ для сессии отладки (по умолчанию определяется из строки подключения) |
--coverage-debug-pwd | VRUNNER_COVERAGE_DEBUG_PWD | Пароль сервера отладки (если он защищён паролем) |
--coverage-skip-lines | VRUNNER_COVERAGE_SKIP_LINES | Не рассчитывать покрываемые строки и процент покрытия (собрать только исполненные строки) |
Покрытие работает поверх обычного запуска теста, поэтому доступны все опции подключения и платформы соответствующей подкоманды (
--ibconnection,--v8version,--ibcmdи т. д.). Подробнее: Подключение к базе данных →.
Форматы отчёта
Опция --coverage-format задаёт формат XML-отчёта:
| Формат | Значение | Назначение |
|---|---|---|
| genericCoverage | generic (по умолчанию) | Импорт в SonarQube (sonar.coverageReportPaths) |
| Cobertura | cobertura | Cobertura XML (Jenkins, GitLab CI и др.) |
| Clover | clover | Clover 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.version | 0.1.0 | Версия утилиты для автозагрузки |
coverage.lines-tool.base-url | GitHub Releases | Базовый URL для загрузки релиза |
coverage.lines-tool.tools-dir | кеш temp | Каталог кеша установленных утилит |
Альтернатива — просто отключить процент флагом --coverage-skip-lines.
Ограничения
- Несовместимо с
--no-wait. Клиент 1С должен завершиться до сбора данных, поэтому при--coverage-reportвместе с--no-waitкоманда завершается ошибкой. - Серверный код покрывается только при разрешённой отладке на кластере (см. Клиент-серверные базы).
Примеры
# Простейший запуск: покрытие конфигурации из ./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.
vrunner validate <подкоманда> [опции]syntax-check
Выполняет проверку синтаксиса конфигурации в указанных режимах через конфигуратор. Формирует отчёт в формате JUnit XML, совместимый с системами CI/CD.
vrunner validate syntax-check [опции]Опции
| Опция | По умолчанию | Переменная окружения | Описание |
|---|---|---|---|
--mode | - | - | Режимы проверки (можно указать несколько через повторение опции) |
--junitpath | - | VRUNNER_JUNITPATH | Путь к файлу отчёта JUnit XML |
--exception-file | - | - | Путь к файлу исключений (UTF-8, по одному исключению на строку) |
--groupbymetadata | false | - | Группировать ошибки по объектам метаданных |
--testsuitename | syntax-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 | Проверка всех расширений |
Примеры
# Проверить синтаксис для нескольких режимов клиента
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.
vrunner validate edt [опции]Опции
| Опция | По умолчанию | Переменная окружения | Описание |
|---|---|---|---|
--src / -s | текущий каталог | VRUNNER_SRC | Каталог EDT-проекта |
--min-severity | major | - | Минимальный уровень замечаний, при котором команда завершается с ошибкой: critical, major, minor, none |
--junitpath | - | VRUNNER_JUNITPATH | Путь к файлу отчёта JUnit XML |
--testsuitename | edt | - | Имя тестового набора в JUnit-отчёте |
--src-format | auto | - | Формат каталога исходников: 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 | не завершать с ошибкой, только вывести отчёт |
Примеры
# Проверить 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. Путь к выходному файлу стал обязательным позиционным аргументом.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner compile / vrunner compileconf | vrunner cf compile <OUT> |
| Выходной файл | --out ./build/1Cv8.cf | Позиционный аргумент OUT (обязательный) |
| Каталог исходников | --src ./cf | --s ./src или --src ./src |
--ibconnection | Обязательный (для конфигуратора) | Опциональный — если не указан, создаётся временная ИБ |
--ibcmd | Не поддерживался | Поддерживается — быстрее конфигуратора |
| Секция в настройках | "compile" / "compileconf" | "vrunner.cf.compile" |
Примеры
Было (2.x)
# Через конфигуратор
vrunner compile \
--src ./cf \
--out ./build/1Cv8.cf \
--ibconnection /FD:/bases/temp \
--v8version 8.3.24Стало (3.0)
# Через 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)
{
"compile": {
"--src": "./cf",
"--out": "./build/1Cv8.cf"
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner compileepf <inputPath> <outputPath> | vrunner epf compile [SRC] --out <dir> |
| Каталог исходников | Позиционный inputPath | Необязательный позиционный SRC |
| Каталог вывода | Позиционный outputPath | Опция --out |
| Рекурсивный поиск | Не поддерживался | --recursive / -R |
--ibcmd | Не поддерживался | Поддерживается |
| Секция в настройках | "compileepf" | "vrunner.epf.compile" |
Примеры
Было (2.x)
# Собрать обработки из 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)
# Собрать обработки из ./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)
{
"compileepf": {
"--ibconnection": "/F./build/ibservice",
"inputPath": "./epf",
"outputPath": "./build/epf"
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner compileext <inputPath> | vrunner cfe compile <OUT.cfe> |
Выходной .cfe файл | (определялся автоматически или через опцию) | Обязательный позиционный OUT |
| Каталог исходников | inputPath | --s / --src |
| Имя расширения | extensionName (в конфиге) | --extension-name (обязательный) |
--ibcmd | Не поддерживался | Поддерживается |
| Секция в настройках | "compileext" | "vrunner.cfe.compile" |
Примеры
Было (2.x)
vrunner compileext ./cfe/Доработки \
--extensionName Доработки \
--ibconnection /F./build/ibservice \
--v8version 8.3.24Стало (3.0)
# Через 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)
{
"compileext": {
"inputPath": "./cfe/Доработки",
"extensionName": "Доработки"
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner decompile / vrunner decompileconf | vrunner cf decompile <OUT> |
| Каталог выгрузки | --out ./cf | Позиционный аргумент OUT (обязательный) |
| Входной CF-файл | --in ./build/1Cv8.cf | --cf-file ./build/1Cv8.cf |
--ibcmd | Не поддерживался | Поддерживается |
| Секция в настройках | "decompile" / "decompileconf" | "vrunner.cf.decompile" |
Примеры
Было (2.x)
vrunner decompile \
--in ./build/1Cv8.cf \
--out ./cf \
--ibconnection /FD:/bases/temp \
--v8version 8.3.24Стало (3.0)
# Через 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)
{
"decompile": {
"--in": "./build/1Cv8.cf",
"--out": "./cf"
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.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)
vrunner decompileepf build/epf epf \
--ibconnection /F./build/ibservice \
--v8version 8.3.24Стало (3.0)
# Разобрать все 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)
{
"decompileepf": {
"--ibconnection": "/F./build/ibservice",
"inputPath": "./build/out/epf",
"outputPath": "./epf"
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner decompileext | vrunner cfe decompile <OUT> |
| Каталог выгрузки | outputPath (в конфиге) | Обязательный позиционный OUT |
Входной .cfe файл | (не требовался явно) | --cfe-file (обязательный) |
| Имя расширения | extensionName (в конфиге) | --extension-name (обязательный) |
--ibcmd | Не поддерживался | Поддерживается |
| Секция в настройках | "decompileext" | "vrunner.cfe.decompile" |
Примеры
Было (2.x)
vrunner decompileext \
--extensionName Доработки \
--outputPath ./cfe/Доработки \
--ibconnection /F./build/ibservice \
--v8version 8.3.24Стало (3.0)
# Через 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)
{
"decompileext": {
"extensionName": "Доработки",
"outputPath": "./cfe/Доработки"
}
}Стало (autumn-properties.json)
{
"vrunner": {
"cfe": {
"decompile": {
"cfe-file": "./build/Доработки.cfe",
"extension-name": "Доработки"
}
}
}
}TIP
Каталог для выгрузки (OUT) задаётся только в командной строке как позиционный аргумент — он не может быть задан в файле настроек.
vrunner designer
Запускает конфигуратор 1С с нужными параметрами подключения.
Изменено в 3.0
vrunner designer стала подкомандой designer внутри группы run.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner designer | vrunner run designer |
| Опции подключения | Поддерживаются | Поддерживаются |
| Опции хранилища | --storage-name, --storage-user, --storage-pwd | Поддерживаются |
| Секция в настройках | "designer" | "vrunner.run.designer" |
Примеры
Было (2.x)
vrunner designer \
--ibconnection /Sserver1c/devib \
--storage-name tcp://serverstorage/erp \
--storage-user bot \
--storage-pwd 123 \
--v8version 8.3.24Стало (3.0)
vrunner run designer \
--ibconnection /Sserver1c/devib \
--storage-name tcp://serverstorage/erp \
--storage-user bot \
--storage-pwd 123 \
--v8version 8.3.24Файл настроек
Было (vrunner.json)
{
"designer": {
"--ibconnection": "/Sserver1c/devib",
"--storage-name": "tcp://serverstorage/erp",
"--storage-user": "bot",
"--storage-pwd": "123"
}
}Стало (autumn-properties.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. Логика инициализации из хранилища теперь разбита на отдельные шаги.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Создание ИБ | vrunner init-dev | vrunner infobase init |
| Обновление конфиг. БД | vrunner update-dev | vrunner 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)
vrunner init-dev \
--ibconnection /F./build/ib \
--db-user Администратор \
--v8version 8.3.24Стало (3.0)
vrunner infobase init \
--ibconnection /F./build/ib \
--db-user Администратор \
--v8version 8.3.24Инициализация из хранилища 1С
В 2.x это делалось одной командой с флагом --storage:
# 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 это разбивается на три шага:
# 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)
vrunner update-dev \
--ibconnection /F./build/ib \
--db-user Администратор \
--v8version 8.3.24 \
--v2Стало (3.0)
vrunner infobase update \
--ibconnection /F./build/ib \
--db-user Администратор \
--v8version 8.3.24 \
--rtype v2Флаги реструктуризации --v1 / --v2
| 2.x | 3.0 |
|---|---|
vrunner updatedb --v1 | vrunner infobase update --rtype v1 |
vrunner updatedb --v2 | vrunner infobase update --rtype v2 |
vrunner init-dev --v2 | vrunner infobase update --rtype v2 |
vrunner update-dev --v2 | vrunner infobase update --rtype v2 |
Значение по умолчанию: v1.
Файл настроек
Было (vrunner.json)
{
"init-dev": {
"--v2": true
},
"update-dev": {
"--v2": true
}
}Стало (autumn-properties.json)
{
"vrunner": {
"infobase": {
"init": {},
"update": {
"rtype": "v2"
}
}
}
}vrunner init-project
Создавал структуру нового проекта: клонировал шаблон, устанавливал пакеты (gitsync, gitrules, precommit1c).
Команда удалена в 3.0
vrunner init-project не имеет прямого аналога в vanessa-runner 3.0.
Инициализация проекта выполняется вручную или сторонними инструментами.
Что делала команда в 2.x
# Создать проект по шаблону
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:
git clone https://github.com/vanessa-opensource/vanessa-bootstrap.git my-project
cd my-projectУстановка пакетов
Пакеты устанавливаются через opm напрямую:
opm install vanessa-runner
opm install gitsync
opm install gitrulesШаблонные репозитории GitHub/GitLab
Используйте функционал шаблонных репозиториев на уровне платформы хостинга:
vrunner loadrepo
Загружает конфигурацию из хранилища 1С в информационную базу (обновляет ИБ до последней версии в хранилище).
Изменено в 3.0
vrunner loadrepo переименована в vrunner repo load — вошла в группу repo.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner loadrepo | vrunner repo load |
--storage-name | Поддерживается | Поддерживается |
--storage-user | Поддерживается | Поддерживается |
--storage-pwd | Поддерживается | Поддерживается |
--storage-ver | Поддерживается | Поддерживается |
| Переменные окружения | RUNNER_storage_name, RUNNER_storage_user, RUNNER_storage_pwd | VRUNNER_STORAGE_NAME, VRUNNER_STORAGE_USER, VRUNNER_STORAGE_PWD |
| Секция в настройках | "loadrepo" | "vrunner.repo.load" |
Примеры
Было (2.x)
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)
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)
{
"loadrepo": {
"--ibconnection": "/F./build/ibservice",
"--storage-name": "tcp://serverstorage/erp",
"--storage-user": "bot",
"--storage-pwd": "123"
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner run | vrunner run enterprise |
--command | Поддерживается | Поддерживается |
--execute | Поддерживается | Поддерживается |
--nocacheuse | Поддерживается | Поддерживается |
| Переменные окружения | RUNNER_* | VRUNNER_* |
| Секция в настройках | "run" | "vrunner.run.enterprise" |
Примеры
Было (2.x)
vrunner run \
--ibconnection /F./build/ib \
--db-user Администратор \
--v8version 8.3.24 \
--uccode godModeOFF \
--nocacheuse \
--command "ЗапуститьОбновлениеИБ;РежимОтладки;" \
--execute "$runnerRoot\epf\ЗакрытьПредприятие.epf"Стало (3.0)
vrunner run enterprise \
--ibconnection /F./build/ib \
--db-user Администратор \
--v8version 8.3.24 \
--uccode godModeOFF \
--nocacheuse \
--command "ЗапуститьОбновлениеИБ;РежимОтладки;" \
--execute "$runnerRoot\epf\ЗакрытьПредприятие.epf"Файл настроек
Было (vrunner.json)
{
"run": {
"--uccode": "godModeOFF",
"--command": "ЗапуститьОбновлениеИБ;РежимОтладки;ОтключитьЛогикуРаботыПрограммы;",
"--execute": "$runnerRoot\\epf\\ЗакрытьПредприятие.epf"
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
scheduledjobs lock | vrunner scheduledjobs lock | vrunner cluster jobs lock |
scheduledjobs unlock | vrunner scheduledjobs unlock | vrunner cluster jobs unlock |
| Имя базы | --db <имя> | --db-name <имя> |
--ras, --rac | Поддерживаются | Поддерживаются |
| Администратор кластера | --db-user / --db-pwd | --cluster-admin / --cluster-pwd |
Примеры: scheduledjobs lock
Было (2.x)
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)
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)
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)
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:
# 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 pwdvrunner session lock / unlock / kill / closed
Управление сеансами информационной базы через rac/ras: блокировка новых сеансов, снятие блокировки, принудительное завершение активных сеансов, проверка отсутствия сеансов.
Изменено в 3.0
vrunner session вошла в группу cluster как vrunner cluster session. Изменились имена нескольких опций.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
session lock | vrunner session lock | vrunner cluster session lock |
session unlock | vrunner session unlock | vrunner cluster session unlock |
session kill | vrunner session kill | vrunner cluster session kill |
session closed | vrunner session closed | vrunner 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)
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)
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)
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)
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)
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)
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)
vrunner session closed \
--ras localhost:1545 \
--db MyInfobase \
--db-user Администратор \
--db-pwd secretСтало (3.0)
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:
{
"vrunner": {
"cluster": {
"ras": "localhost:1545",
"cluster-admin": "ClusterAdmin",
"cluster-pwd": "adminpwd"
}
}
}Файл настроек и переменные окружения
В 3.0 изменились формат файла настроек, правила именования ключей и префиксы переменных окружения.
Скрипт конвертации
Для автоматической конвертации vrunner.json → autumn-properties.json:
oscript tools/migrate26to30.os --input vrunner.json --output autumn-properties.jsonСкрипт обрабатывает все стандартные секции, переименовывает ключи и выводит предупреждения о случаях, требующих ручной правки.
Имя файла
| 2.x | 3.0 |
|---|---|
vrunner.json | autumn-properties.json |
Старое имя vrunner.json больше не распознаётся. Файл необходимо переименовать или создать заново.
Формат ключей
В 2.x ключи в файле настроек записывались с префиксом -- (как в командной строке):
{
"default": {
"--ibconnection": "/F./build/ib",
"--v8version": "8.3.24"
}
}В 3.0 ключи задаются без -- префикса:
{
"vrunner": {
"ibconnection": "/F./build/ib",
"v8version": "8.3.24"
}
}Иерархия секций
В 2.x файл настроек был плоским, каждая команда — своя секция верхнего уровня:
{
"default": { "--ibconnection": "/F./ib", "--v8version": "8.3.24" },
"xunit": { "--reportsxunit": "jUnit{./build/junit.xml}" },
"vanessa": { "--vanessasettings": "./vb-conf.json" }
}В 3.0 настройки вложены в пространство имён vrunner, а команды отражают иерархию CLI:
{
"vrunner": {
"ibconnection": "/F./ib",
"v8version": "8.3.24",
"test": {
"xunit": {
"reportsxunit": "jUnit{./build/junit.xml}"
},
"vanessa": {
"vanessasettings": "./vb-conf.json"
}
}
}
}Маппинг секций
| Секция в 2.x | Путь в 3.0 |
|---|---|
default | vrunner |
xunit | vrunner.test.xunit |
vanessa | vrunner.test.vanessa |
syntax-check | vrunner.validate.syntax-check |
compile / compileconf | vrunner.cf.compile |
decompile / decompileconf | vrunner.cf.decompile |
compileepf | vrunner.epf.compile |
decompileepf | vrunner.epf.decompile |
compileext | vrunner.cfe.compile |
decompileext | vrunner.cfe.decompile |
updatedb | vrunner.infobase.update |
run | vrunner.run.enterprise |
loadrepo | vrunner.repo.load |
designer | vrunner.run.designer |
WARNING
Секции init-dev, update-dev и init-project не имеют прямого аналога в 3.0. Смотрите отдельные страницы миграции: init-dev →, init-project →.
Полный пример конвертации
Было (vrunner.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):
{
"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_IBNAME | VRUNNER_IBCONNECTION |
RUNNER_DBUSER | VRUNNER_DBUSER |
RUNNER_DBPWD | VRUNNER_DBPWD |
RUNNER_uccode | VRUNNER_UCCODE |
RUNNER_v8version | VRUNNER_V8VERSION |
RUNNER_VANESSASETTINGS | VRUNNER_VANESSASETTINGS |
RUNNER_PATHVANESSA | VRUNNER_PATHVANESSA |
RUNNER_WORKSPACE | VRUNNER_WORKSPACE |
RUNNER_TESTSPATH | VRUNNER_TESTSPATH |
RUNNER_PATHXUNIT | VRUNNER_PATHXUNIT |
RUNNER_CONFIG_TESTS | VRUNNER_CONFIG_TESTS |
RUNNER_storage_name | VRUNNER_STORAGE_NAME |
RUNNER_storage_user | VRUNNER_STORAGE_USER |
RUNNER_storage_pwd | VRUNNER_STORAGE_PWD |
TIP
Обратите внимание, что RUNNER_IBNAME (имя базы для cluster) заменён на VRUNNER_IBCONNECTION (строка подключения). Для cluster-команд используется VRUNNER_IBNAME как отдельная переменная.
Каскад приоритетов
В 2.x порядок приоритетов был:
env.json(или--settings <файл>)- Переменные окружения
RUNNER_* - Ключи командной строки
--*
В 3.0 порядок аналогичен, но схема изменилась:
- Значения по умолчанию из пакета vanessa-runner
autumn-properties.jsonв текущем каталоге- Переменные окружения
VRUNNER_* - Аргументы командной строки
WARNING
Параметр --settings <файл> сохранён для обратной совместимости, но указанный файл читается как autumn-properties.json (новый формат), а не как vrunner.json.
vrunner syntax-check
Выполняет синтаксическую проверку конфигурации через конфигуратор в указанных режимах клиента. Формирует JUnit-совместимый отчёт.
Изменено в 3.0
vrunner syntax-check переименована в vrunner validate syntax-check — вошла в группу validate. Изменился формат задания режимов проверки: значения больше не пишутся с ведущим дефисом.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner syntax-check | vrunner 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)
vrunner syntax-check \
--ibconnection /F./build/ib \
--groupbymetadata true \
--exception-file ./syntax-check-exceptions.txt \
--mode "-ExtendedModulesCheck" "-ThinClient" "-WebClient" "-Server" \
"-ExternalConnection" "-ThickClientOrdinaryApplication"Стало (3.0)
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)
{
"syntax-check": {
"--groupbymetadata": true,
"--exception-file": "./syntax-check-exceptions.txt",
"--mode": [
"-ExtendedModulesCheck",
"-ThinClient",
"-WebClient",
"-Server",
"-ExternalConnection",
"-ThickClientOrdinaryApplication"
]
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner updatedb | vrunner infobase update |
| Режим реструктуризации | --v1 / --v2 (флаги) | --rtype v1 / --rtype v2 |
| Значение по умолчанию | v1 (обычный) | --rtype v1 |
--uccode | Поддерживается | Поддерживается |
--ibconnection | Поддерживается | Поддерживается |
| Переменные окружения | RUNNER_* | VRUNNER_* |
| Секция в настройках | "updatedb" | "vrunner.infobase.update" |
Примеры
Было (2.x)
# Обычное обновление
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)
# Обычное обновление (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)
{
"updatedb": {
"--ibconnection": "/F./build/ib",
"--db-user": "bot",
"--db-pwd": "123",
"--uccode": "godModeOn",
"--v2": true
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner vanessa | vrunner test vanessa |
| Путь к фичам | --path <путь> | --feature-path <путь> |
| Путь к bddRunner.epf | --pathvanessa <путь> | --bddrunner-path <путь> |
| Прочие опции | --vanessasettings, --workspace, --tags-ignore, --tags-filter, --additional-keys | без изменений |
| Переменные окружения | RUNNER_VANESSASETTINGS, RUNNER_WORKSPACE, RUNNER_PATHVANESSA | VRUNNER_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)
vrunner vanessa \
--ibconnection /F./build/ib \
--vanessasettings ./tools/vb-conf.json \
--workspace . \
--additional "/DisplayAllFunctions /L ru"Стало (3.0)
vrunner test vanessa \
--ibconnection /F./build/ib \
--vanessasettings ./tools/vb-conf.json \
--workspace . \
--additional "/DisplayAllFunctions /L ru"Файл настроек
Было (vrunner.json)
{
"default": {
"--ibconnection": "/F./build/ib",
"--db-user": "Администратор",
"--db-pwd": ""
},
"vanessa": {
"--vanessasettings": "./tools/VBParams.json",
"--workspace": ".",
"--additional": "/DisplayAllFunctions /L ru"
}
}Стало (autumn-properties.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.
Изменения
| Аспект | 2.x | 3.0 |
|---|---|---|
| Команда | vrunner xunit | vrunner test xunit |
--reportxunit | Поддерживается | Устарел — используйте --reportsxunit |
Формат отчёта --reportxunit | Путь к каталогу | Устарел |
--reportsxunit | Имена генераторов Vanessa-ADD | Краткие форматы (junit{путь};allure{путь}) и имена генераторов |
| Переменные окружения | RUNNER_TESTSPATH, RUNNER_PATHXUNIT | VRUNNER_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)
# Запуск тестов с JUnit-отчётом (старый формат)
vrunner xunit ./tests \
--ibconnection /F./build/ib \
--reportsxunit "ГенераторОтчетаJUnitXML{build/junit.xml}"
# Запуск через ключ --settings
vrunner xunit --settings tools/vrunner.jsonСтало (3.0)
# Запуск тестов с 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)
{
"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)
{
"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:
# Было (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 буквально:
vrunner test xunit --ibconnection /F./build/ib '$addRoot/tests/smoke'Файл настроек (autumn-properties.json)
vanessa-runner использует файл autumn-properties.json для задания настроек по умолчанию на уровне проекта.
Расположение файла
Файл autumn-properties.json должен находиться в рабочем каталоге, из которого запускается vrunner. Как правило, это корень проекта.
Формат файла
{
"vrunner": {
"<опция>": "<значение>",
"<команда>": {
"<опция>": "<значение>"
}
}
}Ключи задаются через пространство имён vrunner.
Каскад приоритетов
Настройки применяются в следующем порядке (от низшего приоритета к высшему):
- Значения по умолчанию из пакета vanessa-runner
autumn-properties.jsonв текущем рабочем каталоге- Переменные окружения
- Аргументы командной строки
Примеры конфигурации
Базовые настройки подключения
{
"vrunner": {
"ibconnection": "/FD:/bases/MyProject",
"db-user": "Администратор",
"db-pwd": "",
"v8version": "8.3.24"
}
}Настройки для конкретных команд
{
"vrunner": {
"ibconnection": "/F./ib",
"v8version": "8.3.24",
"cf": {
"compile": {
"src": "./src"
}
},
"repo": {
"load": {
"storage-name": "D:/repos/MyProject",
"storage-user": "StorageUser"
}
}
}
}Пример для CI-окружения
{
"vrunner": {
"v8version": "8.3.24",
"ibcmd": true,
"test": {
"xunit": {
"reportsxunit": "jUnit{./build/reports/junit.xml}"
}
}
}
}Уровни логирования
Уровень логирования настраивается через autumn-properties.json:
{
"logos": {
"logger": {
"vrunner": "DEBUG"
}
}
}Доступные уровни: DEBUG, INFO, WARN, ERROR.
Или через переменную окружения:
export LOGOS_LOGGER_VRUNNER=DEBUG
vrunner cf compile ./build/App.cfПеременные окружения
Все опции vanessa-runner можно задавать через переменные окружения. Это удобно в CI/CD-пайплайнах, где параметры подключения нежелательно передавать в командной строке.
Приоритет
Параметры применяются в следующем порядке (каждый следующий перекрывает предыдущий):
- Значение по умолчанию
- Файл настроек (
autumn-properties.json) - Переменная окружения
- Аргумент командной строки
Полный список переменных
Подключение к ИБ
| Переменная | Опция | Описание |
|---|---|---|
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
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
opm install vanessa-runnerПосле установки команда vrunner будет доступна глобально.
Установка из исходников
git clone https://github.com/vanessa-opensource/vanessa-runner.git
cd vanessa-runner
opm install -lПроверка установки
vrunner --versionОжидаемый вывод:
vanessa-runner 3.x.xОбновление
opm install -u vanessa-runnerWARNING
На 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 с рабочим каталогом проекта), а не из каталога установки.
Установка зависимостей для разработки
opm installЗависимости устанавливаются в папку oscript_modules/.
Первые шаги
Синтаксис команд
Все команды vanessa-runner имеют единую структуру:
vrunner <группа> <подкоманда> [аргументы] [опции]Например:
# Собрать конфигурацию из исходников
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Общие опции
Все команды поддерживают следующие общие опции:
Подключение к ИБ
| Опция | Переменная окружения | Описание |
|---|---|---|
--ibconnection | VRUNNER_IBCONNECTION | Строка подключения (/F<путь> или /S<сервер>\<имяИБ>) |
--db-user | VRUNNER_DBUSER | Пользователь ИБ |
--db-pwd | VRUNNER_DBPWD | Пароль пользователя ИБ |
--ibcmd | - | Использовать утилиту ibcmd вместо конфигуратора |
Платформа
| Опция | Переменная окружения | Описание |
|---|---|---|
--v8version | VRUNNER_V8VERSION | Версия платформы 1С (например, 8.3.24) |
--uccode | VRUNNER_UCCODE | Код разрешения (ключ блокировки) |
--language | VRUNNER_LANGUAGE | Язык платформы |
--locale | VRUNNER_LOCALE | Язык сеанса (локаль) |
Настройки по умолчанию
Создайте файл autumn-properties.json в каталоге проекта для задания настроек по умолчанию:
{
"vrunner": {
"ibconnection": "/FD:/bases/MyProject",
"v8version": "8.3.24",
"db-user": "Администратор"
}
}Настройки применяются с таким приоритетом (от низшего к высшему):
- Значения по умолчанию из пакета vanessa-runner
autumn-properties.jsonв текущем каталоге- Переменные окружения
- Аргументы командной строки
Типичный workflow CI/CD
Пример типичного рабочего процесса в CI:
# 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 в конце:
vrunner --help
vrunner cf --help
vrunner cf compile --helpФормы vrunner help cf и vrunner cf help не являются синтаксисом справки; используйте vrunner cf --help.
