mcpField
E
epf-build

epf-build

github.com/nikolay-shirokovDevelopment74154 installsUpdated today
Repository

About epf-build

epf-build is a skill for building 1C external processing files from source XML into EPF/ERF outputs, with checks for module syntax and form handlers before compilation. It can use database and configuration export details from project settings, or create a temporary database when none is specified.

Key features

  1. 01Build EPF/ERF files from source XML
  2. 02Check modules and form handlers before building
  3. 03Accept file-based and server database parameters
  4. 04Set configuration export paths and check contexts
  5. 05Use a temporary database when none is supplied

Use cases

  1. 01Compile 1C external processing source files
  2. 02Find module or handler errors before producing an output
  3. 03Check references to shared modules using a configuration export

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/nikolay-shirokov/cc-1c-skills --skill epf-build

After installing, type/epf-buildin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

scripts/
epf-build.ps1
epf-build.py
stub-db-create.ps1
stub-db-create.py

Details

From the project README

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

Usage

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

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

Предпочтительно использовать конкретную базу: сборка надёжнее, а configSrc базы из .v8-project.json даёт проверке исходников общие модули конфигурации.

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

Платформа — v8path найденной записи базы, иначе корневой v8path. Не задан ни там, ни там — -V8Path не передавай. Если использованная база не зарегистрирована — после выполнения предложи добавить через /db-list add.

Команда

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/epf-build.ps1" <параметры>
Параметры скрипта
ПараметрОбязательныйОписание
-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
-ConfigSrc <путь>нетКаталог XML-выгрузки конфигурации, в которой будет работать обработка. По умолчанию — configSrc указанной базы из .v8-project.json
-AdditionalV8Arguments <список>нетДоп. аргументы запуска 1cv8.exe через запятую, напр. /UseHwLicenses+
-AdditionalIbcmdArguments <список>нетДоп. аргументы ibcmd через запятую, в форме --ключ=значение

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

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

Перед сборкой платформа проверяет исходники: синтаксис модулей и наличие обработчиков форм. Если есть ошибки, файл не создаётся, а в выводе — сообщение платформы со строкой и колонкой и путь к файлу исходника. Собрать без проверки — -Checks off.

Если код обращается к общим модулям конфигурации (ОбщегоНазначения, УправлениеПечатью и т.п.), проверке нужна выгрузка этой конфигурации. По умолчанию берётся configSrc указанной базы из .v8-project.json; если его нет — передай каталог выгрузки в -ConfigSrc, а если выгрузки нет совсем — собирай с -Checks off. Код, который вызывает методы глобальных общих модулей без имени модуля, проверку не пройдёт и с выгрузкой — его тоже собирай с -Checks off.

Примеры

# Сборка обработки (файловая база)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/epf-build.ps1" -InfoBasePath "C:\Bases\MyDB" -SourceFile "src/МояОбработка.xml" -OutputFile "build/МояОбработка.epf"

# Серверная база
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/epf-build.ps1" -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -SourceFile "src/МояОбработка.xml" -OutputFile "build/МояОбработка.epf"

Comments

Markdown supported