epf-build について
epf-buildは、ソースXMLからEPF/ERFファイルをビルドする1C向けスキルです。ビルド前にモジュール構文とフォームハンドラーを検査し、プロジェクト設定のデータベースや構成エクスポートを利用できます。データベース未指定時は一時データベースを作成します。
主な機能
- 01ソースXMLからEPF/ERFをビルド
- 02ビルド前にモジュールとフォームハンドラーを検査
- 03ファイル型・サーバー型データベースの指定
- 04構成エクスポート先と検査コンテキストを設定
- 05データベース未指定時に一時データベースを使用
活用シーン
- 011Cの外部処理ソースをコンパイル
- 02出力前にモジュールやハンドラーのエラーを特定
- 03構成エクスポートを使って共通モジュール参照を検査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ nikolay-shirokov/ cc-1c-skills --skill epf-buildインストール後、Claude Code で/epf-buildを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
scripts/epf-build.ps1epf-build.pystub-db-create.ps1stub-db-create.pyREADME(原文)English
プロジェクトの README よりこの README の日本語訳はまだありません。以下は英語の原文です。日本語の紹介はページ上部をご覧ください。
/epf-build — Сборка обработки
Usage
/epf-build <ProcessorName> [SrcDir] [OutDir]
| Параметр | Обязательный | По умолчанию | Описание |
|---|---|---|---|
| ProcessorName | да | — | Имя обработки (имя корневого XML) |
| SrcDir | нет | src | Каталог исходников |
| OutDir | нет | build | Каталог для результата |
Параметры подключения (опционально)
Предпочтительно использовать конкретную базу: сборка надёжнее, а configSrc базы из
.v8-project.json даёт проверке исходников общие модули конфигурации.
- Прочитай
.v8-project.jsonиз корня проекта и разреши базу: - Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
- Если указал базу по имени — ищи по id / alias / name в
.v8-project.json - Если не указал — сопоставь текущую ветку Git с
databases[].branches - Если ветка не совпала — используй
default - Если
.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"