К основному содержанию
скилл CX Codex

epf-build — скилл для Claude Code: сборка EPF/ERF из XML

Собирает внешнюю обработку 1С в файл EPF или ERF из XML-исходников и проверяет модули до сборки.

Установить в Claude Code · Через маркетплейс плагинов Все способы и платформы ↓
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skills
Открыть на GitHub

Что делает epf-build

Скилл запускает PowerShell-скрипт epf-build.ps1, который вызывает платформу 1С и получает на выходе готовый файл обработки. Обязателен только один аргумент — имя обработки, оно же имя корневого XML. Каталог исходников по умолчанию src, каталог результата — build.

Перед сборкой платформа проверяет синтаксис модулей и наличие обработчиков форм. Если что-то не так, файл не создаётся, а в выводе появляется сообщение со строкой, колонкой и путём к исходнику. Проверки задаются параметром -Checks: modules, handlers, unreferenced, empty-handlers, config, значение off отключает их совсем. Контексты проверки модулей — ThinClient, Server, ExternalConnection, ThickClientOrdinaryApplication.

Параметры подключения к базе можно не указывать: тогда скрипт сам создаст временную базу и сгенерирует заглушки метаданных для ссылочных типов вроде CatalogRef и DocumentRef, а после сборки её удалит. Если код обращается к общим модулям конфигурации, проверке нужна XML-выгрузка этой конфигурации — по умолчанию берётся configSrc базы из .v8-project.json. Без выгрузки такой код проверку не пройдёт, и тогда остаётся собирать с -Checks off. Это повод держать выгрузку под рукой, если обработка завязана на типовые модули.

Какие задачи решает

  • собрать EPF или ERF из XML-исходников одной командой
  • поймать синтаксическую ошибку в модуле до сборки файла
  • собрать обработку без заранее подготовленной базы 1С
  • проверить обработчики форм перед выпуском обработки
  • указать серверную базу и учётные данные для сборки

Примеры запросов агенту

  • /epf-build МояОбработка
  • /epf-build МояОбработка src build
  • Собери обработку МояОбработка из src в build

Как установить epf-build

1Через маркетплейс плагинов

/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skills

Команда ставит плагин 1c-skills целиком, со всеми его скиллами

2Через Skills CLI (Vercel)

npx skills add Nikolay-Shirokov/cc-1c-skills --skill epf-build -a claude-code

3Вручную: положить файлы

~/.claude/skills/epf-build/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/epf-build/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о epf-build

Как установить epf-build в Claude?

Через маркетплейс: сначала /plugin marketplace add Nikolay-Shirokov/cc-1c-skills, затем /plugin install 1c-skills@cc-1c-skills. Есть и вариант без плагина: npx skills add Nikolay-Shirokov/cc-1c-skills --skill epf-build -a claude-code.

Что делает epf-build?

Собирает внешнюю обработку 1С в файл EPF или ERF из XML-исходников. Перед сборкой платформа проверяет синтаксис модулей и обработчики форм.

Что нужно, чтобы проверка исходников прошла?

Если код вызывает общие модули конфигурации, нужна XML-выгрузка этой конфигурации: по умолчанию берётся configSrc базы из .v8-project.json, иначе каталог передаётся в -ConfigSrc. Без выгрузки такую обработку собирают с -Checks off.

Исходный текст

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

# /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
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
# Сборка обработки (файловая база)
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"
```

© Nikolay Shirokov · MIT · Nikolay-Shirokov/cc-1c-skills

Похожие скиллы

Каталог скиллов SKILL.md →
build-parallelism dotnet Разбирает, почему решение MSBuild собирается медленно: находит последовательную цепочку зависимостей и подсказывает, как её разорвать. CX Codex +1 3 400установок 5-build challengepost Превращает утверждённый план в упорядоченные рабочие шаги и ведёт сборку по ним: каждый шаг проверяется и коммитится. Пригодится после планирования и при возобновлении прерванной сессии. CX Codex +1 1 800установок build parcadei Скилл build ведёт разработку фичи по цепочке из других скиллов и останавливается на контрольных точках, чтобы вы проверили результат. CX Codex +1 488установок tailing-build-output spencerpauly Следит за выводом сборки проекта в реальном времени, выявляет ошибки компиляции и правит код прямо в процессе работы Webpack, Turbo или Docker. CX Codex +1 384установок bazel-build-optimization Seth Hobson Скилл помогает настраивать Bazel для монорепозиториев, удалённого выполнения и кэширования. Подойдёт для разбора проблем сборки и ускорения пайплайна. CX Codex 10 300установок build-fix codewithmukesh Запускает автономный цикл починки сборки и тестов в проектах на .NET. Скилл разбирает ошибки компилятора, исправляет код и останавливается при регрессиях. CX Codex +1 2 800установок

Из того же набора14

cfe-init Скилл разворачивает каркас расширения конфигурации 1С: Configuration.xml, язык в Languages/ и при необходимости роль. Пригодится, когда нужно править или дополнять типовую конфигурацию, не трогая её саму. CX Codex 50установок cf-info Показывает структуру конфигурации 1С: свойства, состав и счётчики объектов. Пригодится для быстрого обзора выгрузки Configuration.xml. CX Codex 49установок cfe-borrow Скилл переносит объекты основной конфигурации 1С в расширение CFE. Пригодится, когда нужно изменить форму, добавить реквизит или перехватить метод. CX Codex 48установок template-remove Скилл удаляет макет из объекта 1С и снимает его регистрацию в корневом XML. Нужен, когда макет убирают из обработки, отчёта или справочника. CX Codex 47установок erf-init Генерирует минимальный набор XML-исходников внешнего отчёта 1С: корневой файл метаданных и каталог отчёта. Пригодится, когда начинаешь новый отчёт и не хочешь собирать каркас руками. CX Codex 46установок form-compile Собирает управляемую форму 1С в Form.xml из JSON-описания или из метаданных объекта. Пригодится, когда форму нужно создать с нуля или получить типовую. CX Codex 45установок web-publish Готовит default.vrd, правит httpd.conf и поднимает Apache, чтобы база 1С открывалась в браузере. Повторный запуск просто обновляет конфигурацию. CX Codex 44установок db-update Применяет изменения основной конфигурации 1С к конфигурации базы данных. Нужен, когда после загрузки XML или Git-ветки надо отдельным шагом обновить БД. CX Codex 44установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой