Skip to content

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

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

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

Что это даёт

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

Требования

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Файловая ИБ:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

TIP

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

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

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

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

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

Примеры

Файловая ИБ

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

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

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

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

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

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

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

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

WARNING

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

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

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

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

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

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

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

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

Внешние обработки (epf) не являются EDT-проектом, поэтому формат EDT для них не поддерживается - при обнаружении EDT (или --src-format edt) команда завершится ошибкой.

Опции

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

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

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

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

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

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

Поиск 1cedtcli

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

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

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

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

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

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

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

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

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

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

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

Примеры

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

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

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

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

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

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

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

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

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

compile

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

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

Аргументы

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

Опции

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

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

Примеры

bash
# Собрать конфигурацию с помощью ibcmd
vrunner cf compile ./build/MyApp.cf --s ./src --ibcmd

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

decompile

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

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

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

Аргументы

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

Опции

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

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

Примеры

bash
# Разобрать CF в исходники
vrunner cf decompile ./src --cf-file ./build/MyApp.cf --ibcmd

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

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

load

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

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

Аргументы

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

Опции

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

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

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

Примеры

bash
# Загрузить конфигурацию из исходников
vrunner cf load ./src --ibconnection /F./ib

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

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

unload

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

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

Аргументы

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

Опции

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

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

Примеры

bash
vrunner cf unload ./backup/MyApp.cf --ibconnection /F./ib

merge

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

bash
vrunner cf merge [опции]

Опции

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

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

Примеры

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

compare

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

bash
vrunner cf compare [опции]

Опции

ОпцияПо умолчаниюОписание
--second-cf-Путь ко второму CF-файлу (с чем сравниваем) (обязательный)
--first-cf-Путь к первому CF-файлу; если не задан - сравнивается конфигурация базы
--report-dir.Каталог для сохранения отчёта
--report-typeFullТип отчёта: Full (полный) или Brief (краткий)
--report-formattxt-
--ibconnection-VRUNNER_IBCONNECTION
--db-user-VRUNNER_DBUSER
--db-pwd-VRUNNER_DBPWD
--ibcmd--
--v8version-VRUNNER_V8VERSION
--uccode-VRUNNER_UCCODE
--language-VRUNNER_LANGUAGE
--locale-VRUNNER_LOCALE
--settings-VRUNNER_SETTINGS

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

Примеры

bash
# Сравнить два CF-файла
vrunner cf compare \
  --first-cf ./old/App.cf \
  --second-cf ./new/App.cf \
  --report-dir ./reports

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

make-dist

В разработке

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

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

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

Опции

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

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

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

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

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

compile

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

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

Аргументы

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

Опции

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

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

Примеры

bash
vrunner cfe compile ./build/MyExtension.cfe \
  --s ./extensions/MyExtension/src \
  --extension-name MyExtension \
  --ibcmd

decompile

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

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

Аргументы

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

Опции

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

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

Примеры

bash
vrunner cfe decompile ./extensions/MyExtension/src \
  --cfe-file ./build/MyExtension.cfe \
  --extension-name MyExtension \
  --ibcmd

load

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

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

Аргументы

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

Опции

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

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

Примеры

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

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

unload

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

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

Аргументы

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

Опции

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

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

Примеры

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

compare

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

bash
vrunner cfe compare [опции]

Опции

ОпцияПо умолчаниюПеременная окруженияОписание
--second-cfe--Путь ко второму CFE-файлу (обязательный)
--first-cfe--Путь к первому CFE-файлу; если не задан - сравнивается с расширением в базе
--extension-name--Имя расширения
--report-dir.-Каталог для отчёта
--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Язык сеанса (локаль)
--settings-VRUNNER_SETTINGSПуть к файлу настроек (JSON)

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

Примеры

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

NOTE

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


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

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

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

Формат 1С:EDT не поддерживается

Внешние обработки не являются EDT-проектом, поэтому epf compile/epf decompile работают только с XML-исходниками. При обнаружении каталога EDT (или явном --src-format edt) команда завершится ошибкой. См. Исходники в формате 1С:EDT →.

compile

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

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

Аргументы

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

Опции

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

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

Примеры

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

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

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

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

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

decompile

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

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

Аргументы

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

Опции

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

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

Примеры

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

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

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

erp - Операции с конфигурациями ERP

Группа команд erp предназначена для операций с исходниками конфигураций (в первую очередь крупных, таких как 1С:ERP). Сейчас в группе одна команда - конвертация исходников между форматами.

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

convert

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

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

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

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

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

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

Аргументы

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

Опции

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

Примеры

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

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

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

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

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


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

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

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

init

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

bash
vrunner infobase init [опции]

Опции

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

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

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

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

Примеры

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

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

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

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

update

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

bash
vrunner infobase update [опции]

Опции

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

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

Примеры

bash
# Обновить конфигурацию БД (загрузить исходники уже в базе)
vrunner infobase update --ibconnection /F./ib

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

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

dump-dt

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

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

Аргументы

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

Опции

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

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

Примеры

bash
vrunner infobase dump-dt ./backup/MyProject_2026-04.dt \
  --ibconnection /F./ib \
  --v8version 8.3.24

restore-dt

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

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

Аргументы

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

Опции

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

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

Примеры

bash
vrunner infobase restore-dt ./backup/MyProject_2026-04.dt \
  --ibconnection /F./ib

create-user

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

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

Аргументы

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

Опции

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

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

Примеры

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

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

lock-resources

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

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

Опции

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

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

Примеры

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

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

scheduled-job

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

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

Аргументы

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

Опции

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

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

Примеры

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

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

NOTE

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

extensions

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

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

list

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

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

check

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

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

create

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

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

delete

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

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

set-options

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

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

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

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

Примеры

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

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

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

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

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

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

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

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

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

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

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

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

create

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

bash
vrunner repo create [опции]

Примеры

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

bind

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

bash
vrunner repo bind [опции]

Опции

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

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

Примеры

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

unbind

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

bash
vrunner repo unbind [опции]

Примеры

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

load

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

bash
vrunner repo load [опции]

Примеры

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

commit

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

bash
vrunner repo commit [опции]

Опции

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

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

Примеры

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

save-cf

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

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

Аргументы

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

Примеры

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

create-user

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

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

copy-user

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

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

lock

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

bash
vrunner repo lock [опции]

unlock

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

bash
vrunner repo unlock [опции]

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

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

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

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

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

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

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

TIP

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

info

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

bash
vrunner cluster info [опции]

Примеры

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

create

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

bash
vrunner cluster create [опции]

remove

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

bash
vrunner cluster remove [опции]

session

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

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

session lock

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

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

Опции

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

Примеры

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

session unlock

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

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

Примеры

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

session kill

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

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

Примеры

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

jobs

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

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

jobs lock

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

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

jobs unlock

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

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

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

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

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

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

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

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

run - Запуск 1С

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

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

enterprise

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

bash
vrunner run enterprise [опции]

Опции

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

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

Примеры

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

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

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

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

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

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

designer

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

bash
vrunner run designer [опции]

Опции

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

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

Примеры

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

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

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

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

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

xunit

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

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

Аргументы

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

Опции

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

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

Формат reportsxunit

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

jUnit{./build/reports/junit.xml};HTML{./build/reports/tests.html}

Поддерживаемые форматы: jUnit, HTML, allure, GenericExecution.

Примеры

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

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

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

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

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

vanessa

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

bash
vrunner test vanessa [опции]

Опции

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

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

Примеры

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

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

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

vanessasettings

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


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

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

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

syntax-check

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

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

Опции

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

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

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

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

Примеры

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

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

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

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

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

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

edt

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

bash
vrunner validate edt [опции]

Опции

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

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

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

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

Примеры

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

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

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

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

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


vrunner compile / vrunner compileconf

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

Стало (3.0)

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

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

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

Было (vrunner.json)

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

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

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

TIP

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


vrunner compileepf

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

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

Стало (3.0)

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

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

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

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

Было (vrunner.json)

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

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

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

TIP

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


vrunner compileext

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

Стало (3.0)

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

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

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

Было (vrunner.json)

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

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

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

TIP

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


vrunner decompile / vrunner decompileconf

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

Стало (3.0)

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

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

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

Было (vrunner.json)

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

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

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

TIP

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


vrunner decompileepf

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

Стало (3.0)

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

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

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

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

Было (vrunner.json)

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

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

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

vrunner decompileext

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

Стало (3.0)

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

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

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

Было (vrunner.json)

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

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

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

TIP

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


vrunner designer

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

Стало (3.0)

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

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

Было (vrunner.json)

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

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

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

vrunner init-dev / vrunner update-dev

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

Изменено в 3.0

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

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

Изменения

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

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

Было (2.x)

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

Стало (3.0)

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

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

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

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

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

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

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

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

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

Было (2.x)

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

Стало (3.0)

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

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

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

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

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

Было (vrunner.json)

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

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

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

vrunner init-project

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


vrunner loadrepo

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

Стало (3.0)

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

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

Было (vrunner.json)

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

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

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

vrunner run

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

Стало (3.0)

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

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

Было (vrunner.json)

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

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

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

vrunner scheduledjobs lock / unlock

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

Изменено в 3.0

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

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

Изменения

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

Примеры: scheduledjobs lock

Было (2.x)

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

Стало (3.0)

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

Примеры: scheduledjobs unlock

Было (2.x)

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

Стало (3.0)

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

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

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

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

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

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

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

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

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

vrunner session lock / unlock / kill

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

Изменено в 3.0

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

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

Изменения

Аспект2.x3.0
session lockvrunner session lockvrunner cluster session lock
session unlockvrunner session unlockvrunner cluster session unlock
session killvrunner session killvrunner cluster session kill
Имя базы--db <имя>--db-name <имя>
Код допуска--uccode <код>--uccode <код> (без изменений)
Сообщение блокировки--lockmessage <текст>--denied-message <текст>
--lockstartat <сек>ПоддерживалсяУдалён
--lockendclearПоддерживалсяУдалён
Фильтр сеансов (kill)--filter appid=Designer--filter appid=Designer
--ras, --racПоддерживаютсяПоддерживаются

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

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

Примеры: session lock

Было (2.x)

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

Стало (3.0)

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

Примеры: session unlock

Было (2.x)

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

Стало (3.0)

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

Примеры: session kill

Было (2.x)

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

Стало (3.0)

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

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

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

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

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

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

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

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

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

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

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

Имя файла

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

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

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

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

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

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

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

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

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

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

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

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

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

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

WARNING

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

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

Было (vrunner.json):

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

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

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

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

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

WARNING

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

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

TIP

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

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

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

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

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

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

WARNING

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


vrunner syntax-check

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

Изменено в 3.0

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

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

Изменения

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

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

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

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

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

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

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

Примеры

Было (2.x)

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

Стало (3.0)

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

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

Было (vrunner.json)

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

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

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

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

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

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


vrunner updatedb

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

Изменено в 3.0

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

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

Изменения

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

Примеры

Было (2.x)

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

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

Стало (3.0)

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

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

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

Было (vrunner.json)

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

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

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

vrunner vanessa

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

Изменено в 3.0

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

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

Изменения

Аспект2.x3.0
Командаvrunner vanessavrunner test vanessa
Опциибез измененийбез изменений
Переменные окруженияRUNNER_VANESSASETTINGS, RUNNER_WORKSPACE, RUNNER_PATHVANESSAVRUNNER_VANESSASETTINGS, VRUNNER_WORKSPACE, VRUNNER_PATHVANESSA
Секция в настройках"vanessa""vrunner.test.vanessa"

Примеры

Было (2.x)

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

Стало (3.0)

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

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

Было (vrunner.json)

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

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

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

vrunner xunit

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

Изменено в 3.0

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

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

Изменения

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

Формат --reportsxunit

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

В 3.0 используйте краткие англоязычные форматы: jUnit{./build/junit.xml}

Поддерживаемые форматы: jUnit, HTML, allure, GenericExecution.

Примеры

Было (2.x)

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

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

Стало (3.0)

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

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

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

Было (vrunner.json)

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

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

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

TIP

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

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

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

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

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

# Стало (3.0)
vrunner test xunit "$addRoot/tests/smoke" --ibconnection /F./build/ib

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

WARNING

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

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

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

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

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

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

Формат файла

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приоритет

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

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

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

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

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

Платформа

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

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

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

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

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

Кластер 1С

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

Запуск

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

Прочее

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

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

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

vrunner infobase update
vrunner test xunit ./tests

Установка

Требования

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

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

bash
opm install vanessa-runner

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

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

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

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

bash
vrunner --version

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

vanessa-runner 3.x.x

Обновление

bash
opm install -u vanessa-runner

Установка зависимостей для разработки

bash
opm install

Зависимости устанавливаются в папку oscript_modules/.


Первые шаги

Синтаксис команд

Все команды vanessa-runner имеют единую структуру:

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

Например:

bash
# Собрать конфигурацию из исходников
vrunner cf compile ./build/MyApp.cf --s ./src

# Разобрать конфигурацию в исходники
vrunner cf decompile --cf-file MyApp.cf ./src

# Инициализировать ИБ из CF-файла
vrunner infobase init --source ./build/MyApp.cf --ibconnection /FMyInfobase

# Запустить xUnit-тесты
vrunner test xunit ./tests --ibconnection /FMyInfobase

Общие опции

Все команды поддерживают следующие общие опции:

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

ОпцияПеременная окруженияОписание
--ibconnectionVRUNNER_IBCONNECTIONСтрока подключения (/F<путь> или /S<сервер>\<имяИБ>)
--db-userVRUNNER_DBUSERПользователь ИБ
--db-pwdVRUNNER_DBPWDПароль пользователя ИБ
--ibcmd-Использовать утилиту ibcmd вместо конфигуратора

Платформа

ОпцияПеременная окруженияОписание
--v8versionVRUNNER_V8VERSIONВерсия платформы 1С (например, 8.3.24)
--uccodeVRUNNER_UCCODEКод разрешения (ключ блокировки)
--languageVRUNNER_LANGUAGEЯзык платформы
--localeVRUNNER_LOCALEЯзык сеанса (локаль)

Настройки по умолчанию

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

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

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

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

Типичный workflow CI/CD

Пример типичного рабочего процесса в CI:

bash
# 1. Инициализация ИБ
vrunner infobase init \
  --source ./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}"

Вывод помощи

Для любой команды доступна встроенная справка:

bash
vrunner --help
vrunner cf --help
vrunner cf compile --help