mcpField
E
epf-build

epf-build

github.com/nikolay-shirokov開発74154 回インストール今日更新
リポジトリ

epf-build について

epf-buildは、ソースXMLからEPF/ERFファイルをビルドする1C向けスキルです。ビルド前にモジュール構文とフォームハンドラーを検査し、プロジェクト設定のデータベースや構成エクスポートを利用できます。データベース未指定時は一時データベースを作成します。

主な機能

  1. 01ソースXMLからEPF/ERFをビルド
  2. 02ビルド前にモジュールとフォームハンドラーを検査
  3. 03ファイル型・サーバー型データベースの指定
  4. 04構成エクスポート先と検査コンテキストを設定
  5. 05データベース未指定時に一時データベースを使用

活用シーン

  1. 011Cの外部処理ソースをコンパイル
  2. 02出力前にモジュールやハンドラーのエラーを特定
  3. 03構成エクスポートを使って共通モジュール参照を検査

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/epf-buildを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

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

README(原文)English

プロジェクトの README より

この 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"

コメント