Files
cc-1c-skills/.codeassistant/skills/epf-build/SKILL.md
T

5.9 KiB

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
epf-build Собрать внешнюю обработку 1С (EPF/ERF) из XML-исходников. Используй когда пользователь просит собрать, скомпилировать обработку или получить EPF/ERF файл из исходников <ProcessorName>
Bash
Read
Glob
Grep

/epf-build — Сборка обработки

Usage

/epf-build <ProcessorName> [SrcDir] [OutDir]
Параметр Обязательный По умолчанию Описание
ProcessorName да Имя обработки (имя корневого XML)
SrcDir нет src Каталог исходников
OutDir нет build Каталог для результата

Параметры подключения (опционально)

Предпочтительно использовать конкретную базу — это надёжнее. Временная база всё равно поднимается под проверку исходников, если она не отключена.

  1. Прочитай .v8-project.json из корня проекта. Возьми v8path и разреши базу:
  2. Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
  3. Если указал базу по имени — ищи по id / alias / name в .v8-project.json
  4. Если не указал — сопоставь текущую ветку Git с databases[].branches
  5. Если ветка не совпала — используй default
  6. Если .v8-project.json нет или база не найдена — не указывай параметры подключения: скрипт автоматически создаст временную базу. Для EPF со ссылочными типами (CatalogRef, DocumentRef и т.д.) генерируются заглушки метаданных. Временная база удаляется после сборки.

Если v8path не задан — скрипт сам попытается определить платформу (.v8-project.json → Program Files). Если использованная база не зарегистрирована — после выполнения предложи добавить через /db-list add.

Команда

python ".codeassistant/skills/epf-build/scripts/epf-build.py" <параметры>

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

Параметр Обязательный Описание
-V8Path <путь> нет Каталог bin платформы, или полный путь к 1cv8.exe / ibcmd.exe
-InfoBasePath <путь> * Файловая база
-InfoBaseServer <сервер> * Сервер 1С (для серверной базы)
-InfoBaseRef <имя> * Имя базы на сервере
-UserName <имя> нет Имя пользователя
-Password <пароль> нет Пароль
-SourceFile <путь> да Путь к корневому XML-файлу исходников
-OutputFile <путь> да Путь к выходному EPF/ERF-файлу
-Checks <список> нет Что проверить перед сборкой: modules, handlers, unreferenced, empty-handlers, config; off — не проверять. По умолчанию modules,handlers
-Context <список> нет Контексты проверки modules: ThinClient, Server, ExternalConnection, ThickClientOrdinaryApplication. По умолчанию ThinClient,Server
-AdditionalV8Arguments <список> нет Доп. аргументы запуска 1cv8.exe через запятую, напр. /UseHwLicenses+
-AdditionalIbcmdArguments <список> нет Доп. аргументы ibcmd через запятую, в форме --ключ=значение

* — опционально. Если не указано — автоматически создаётся временная база со заглушками метаданных

Проверка перед сборкой

Перед сборкой исходники проверяет платформа — синтаксис модулей и наличие обработчиков форм. Если она нашла проблемы, сборка отменяется и файл не создаётся; в выводе — сообщение платформы со строкой и колонкой и путь к файлу исходника. Отключается -Checks off или ключом "externalCheck": false в .v8-project.json.

Проверка идёт на отдельной временной базе, даже если база указана: чужую конфигурацию навык не трогает.

Примеры

# Сборка обработки (файловая база)
python ".codeassistant/skills/epf-build/scripts/epf-build.py" -InfoBasePath "C:\Bases\MyDB" -SourceFile "src/МояОбработка.xml" -OutputFile "build/МояОбработка.epf"

# Серверная база
python ".codeassistant/skills/epf-build/scripts/epf-build.py" -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -SourceFile "src/МояОбработка.xml" -OutputFile "build/МояОбработка.epf"