erf-dump — скилл для Claude Code: что делает и как установить
Декомпилирует внешние отчёты 1С формата ERF в набор исходников XML. Сохраняет ссылочные типы конфигурации при выгрузке.
/plugin marketplace add Nikolay-Shirokov/cc-1c-skills
/plugin install 1c-skills@cc-1c-skillsЧто делает erf-dump
Скилл разбирает файл отчёта 1С формата ERF в исходные XML-файлы. По умолчанию файлы выгружаются в каталог src. Для декомпиляции запускается PowerShell-скрипт epf-dump.ps1, куда передаются путь к платформе, файл отчёта и параметры подключения к базе.
Перед запуском инструмент считывает конфигурационный файл .v8-project.json в корне репозитория. Скилл автоматически сопоставляет текущую ветку Git со списком доступных баз или берёт базу по умолчанию. Также можно передать параметры подключения и путь к платформе напрямую.
Без привязанной информационной базы скрипт завершится с ошибкой, потому что в пустой базе ссылочные типы вроде CatalogRef безвозвратно превращаются в строки. Если база ещё не зарегистрирована в проекте, инструмент предложит добавить её через /db-list add.
Какие задачи решает
- Разобрать отчёт ERF в XML для хранения версий в Git
- Декомпилировать внешний отчёт 1С в каталог
src - Сохранить ссылочные типы метаданных при экспорте структуры отчёта
Примеры запросов агенту
- /erf-dump build/Report.erf src/reports
- /erf-dump reports/Sales.erf
- Разбери отчёт
build/Report.erfв каталогsrc
Как установить erf-dump
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 erf-dump -a claude-code3Вручную: положить файлы
~/.claude/skills/erf-dump/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/erf-dump/
1Через Skills CLI (Vercel)
npx skills add Nikolay-Shirokov/cc-1c-skills --skill erf-dump -a codex2Вручную: положить файлы
.agents/skills/erf-dump/SKILL.mdДля всех проектов — ~/.agents/skills/
Вручную: положить файлы
.cursor/skills/erf-dump/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install Nikolay-Shirokov/cc-1c-skills erf-dump2Вручную: положить файлы
.github/skills/erf-dump/SKILL.mdКомандой платформы
gemini skills install https://github.com/Nikolay-Shirokov/cc-1c-skills --path .claude/skills/erf-dumpВручную: положить файлы
.devin/skills/erf-dump/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Claude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о erf-dump
Как установить erf-dump в Claude Code?
Выполните команду /plugin marketplace add Nikolay-Shirokov/cc-1c-skills, а затем /plugin install 1c-skills@cc-1c-skills.
Что делает erf-dump?
Скилл запускает PowerShell-скрипт и декомпилирует бинарный файл отчёта ERF в XML-исходники с иерархической структурой.
Зачем для разборки отчёта ERF нужна рабочая база?
Без информационной базы со структурой конфигурации ссылочные типы метаданных при выгрузке безвозвратно преобразуются в обычные строки.
Исходный текст
SKILL.md · MIT
---
name: erf-dump
description: Разобрать ERF-файл отчёта 1С в XML-исходники. Используй когда пользователь просит разобрать, декомпилировать отчёт, получить исходники из ERF файла
argument-hint: <ErfFile>
allowed-tools:
- Bash
- Read
- Glob
- Grep
---
# /erf-dump — Разборка отчёта
## Usage
```
/erf-dump <ErfFile> [OutDir]
```
| Параметр | Обязательный | По умолчанию | Описание |
|----------|:------------:|--------------|-------------------------------------|
| ErfFile | да | — | Путь к ERF-файлу |
| OutDir | нет | `src` | Каталог для выгрузки исходников |
## Параметры подключения (обязательно)
Для разборки EPF/ERF требуется информационная база с конфигурацией. Без базы ссылочные типы безвозвратно теряются.
1. Прочитай `.v8-project.json` из корня проекта и разреши базу:
2. Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
3. Если указал базу по имени — ищи по id / alias / name в `.v8-project.json`
4. Если не указал — сопоставь текущую ветку Git с `databases[].branches`
5. Если ветка не совпала — используй `default`
6. Если `.v8-project.json` нет или база не найдена — **сообщи пользователю об ошибке**. Для dump база обязательна: в пустой базе ссылочные типы (CatalogRef, DocumentRef и т.д.) безвозвратно сбрасываются в строки. Предложи указать базу или зарегистрировать через `/db-list add`.
Платформа — `v8path` найденной записи базы, иначе корневой `v8path`. Не задан ни там, ни там — `-V8Path` не передавай.
Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`.
## Команда
Используй общий скрипт из epf-dump:
```powershell
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/../epf-dump/scripts/epf-dump.ps1" <параметры>
```
### Параметры скрипта
| Параметр | Обязательный | Описание |
|----------|:------------:|----------|
| `-V8Path <путь>` | нет | Каталог bin платформы (или полный путь к 1cv8.exe) |
| `-InfoBasePath <путь>` | * | Файловая база |
| `-InfoBaseServer <сервер>` | * | Сервер 1С (для серверной базы) |
| `-InfoBaseRef <имя>` | * | Имя базы на сервере |
| `-UserName <имя>` | нет | Имя пользователя |
| `-Password <пароль>` | нет | Пароль |
| `-InputFile <путь>` | да | Путь к ERF-файлу |
| `-OutputDir <путь>` | да | Каталог для выгрузки исходников |
| `-Format <формат>` | нет | `Hierarchical` (по умолч.) / `Plain` |
| `-AdditionalV8Arguments <список>` | нет | Доп. аргументы запуска `1cv8.exe` через запятую, напр. `/UseHwLicenses+` |
| `-AdditionalIbcmdArguments <список>` | нет | Доп. аргументы `ibcmd` через запятую, в форме `--ключ=значение` |
> `*` — обязательно хотя бы одно подключение. Без базы скрипт завершится с ошибкой (dump в пустой базе безвозвратно теряет ссылочные типы)
## Примеры
```powershell
# Разборка отчёта (файловая база)
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/../epf-dump/scripts/epf-dump.ps1" -InfoBasePath "C:\Bases\MyDB" -InputFile "build/МойОтчёт.erf" -OutputDir "src"
# Серверная база
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/../epf-dump/scripts/epf-dump.ps1" -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -InputFile "build/МойОтчёт.erf" -OutputDir "src"
```
© Nikolay Shirokov · MIT · Nikolay-Shirokov/cc-1c-skills