Files
cc-1c-skills/.claude/skills/epf-dump/SKILL.md
T
Nick ShirokovandClaude Opus 4.6 f01f9d6ae8 feat(epf-build): auto-create stub database for EPF/ERF with reference types
Add stub-db-create script (.ps1/.py) that scans EPF XML sources for
reference types (CatalogRef, DocumentRef, EnumRef, etc.) and generates
a minimal 1C configuration with metadata stubs. Supports 14 metadata
types including registers, charts, defined types.

epf-build/erf-build: if no database specified, auto-create stub DB
with matching metadata, build EPF, then cleanup temp DB.

epf-dump/erf-dump: if no database specified, create empty DB with
warning that reference types will be converted to strings.

SKILL.md updated: prefer real database from .v8-project.json first,
fall back to auto-created stub only when unavailable.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 18:27:38 +03:00

5.4 KiB
Raw Blame History

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
epf-dump Разобрать EPF-файл обработки 1С (EPF/ERF) в XML-исходники <EpfFile>
Bash
Read
Glob
Grep

/epf-dump — Разборка обработки

Разбирает EPF-файл во XML-исходники с помощью платформы 1С (иерархический формат). Та же команда CLI работает и для внешних отчётов (ERF) — см. /erf-dump.

Usage

/epf-dump <EpfFile> [OutDir]
Параметр Обязательный По умолчанию Описание
EpfFile да Путь к EPF-файлу
OutDir нет src Каталог для выгрузки исходников

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

Предпочтительно использовать конкретную базу — это надёжнее и не требует создания временной базы.

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

Если v8path не задан — автоопределение: Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1 Если использованная база не зарегистрирована — после выполнения предложи добавить через /db-list add.

Команда

powershell.exe -NoProfile -File .claude/skills/epf-dump/scripts/epf-dump.ps1 <параметры>

Параметры скрипта

Параметр Обязательный Описание
-V8Path <путь> нет Каталог bin платформы (или полный путь к 1cv8.exe)
-InfoBasePath <путь> * Файловая база
-InfoBaseServer <сервер> * Сервер 1С (для серверной базы)
-InfoBaseRef <имя> * Имя базы на сервере
-UserName <имя> нет Имя пользователя
-Password <пароль> нет Пароль
-InputFile <путь> да Путь к EPF/ERF-файлу
-OutputDir <путь> да Каталог для выгрузки исходников
-Format <формат> нет Hierarchical (по умолч.) / Plain

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

Коды возврата

Код Описание
0 Успешная разборка
1 Ошибка (см. лог)

Формат -Format Hierarchical

Ключ -Format Hierarchical создаёт структуру каталогов:

<OutDir>/
├── <Name>.xml                    # Корневой файл
└── <Name>/
    ├── Ext/
    │   └── ObjectModule.bsl      # Модуль объекта (если есть)
    ├── Forms/
    │   ├── <FormName>.xml
    │   └── <FormName>/
    │       └── Ext/
    │           ├── Form.xml
    │           └── Form/
    │               └── Module.bsl
    └── Templates/
        ├── <TemplateName>.xml
        └── <TemplateName>/
            └── Ext/
                └── Template.<ext>

Примеры

# Разборка обработки (файловая база)
powershell.exe -NoProfile -File .claude/skills/epf-dump/scripts/epf-dump.ps1 -InfoBasePath "C:\Bases\MyDB" -InputFile "build\МояОбработка.epf" -OutputDir "src"

# Серверная база
powershell.exe -NoProfile -File .claude/skills/epf-dump/scripts/epf-dump.ps1 -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -InputFile "build\МояОбработка.epf" -OutputDir "src"