mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-18 07:35:52 +03:00
Dump in an empty database irreversibly loses reference types (CatalogRef, DocumentRef, etc.) — they get converted to xs:string. Instead of silently creating an empty temp database, the script now exits with an error explaining that a real database is required. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
5.3 KiB
5.3 KiB
name, description, argument-hint, allowed-tools
| name | description | argument-hint | allowed-tools | ||||
|---|---|---|---|---|---|---|---|
| erf-dump | Разобрать ERF-файл отчёта 1С в XML-исходники | <ErfFile> |
|
/erf-dump — Разборка отчёта
Разбирает ERF-файл во XML-исходники с помощью платформы 1С (иерархический формат). Использует общий скрипт из /epf-dump.
Usage
/erf-dump <ErfFile> [OutDir]
| Параметр | Обязательный | По умолчанию | Описание |
|---|---|---|---|
| ErfFile | да | — | Путь к ERF-файлу |
| OutDir | нет | src |
Каталог для выгрузки исходников |
Параметры подключения (опционально)
Предпочтительно использовать конкретную базу — это надёжнее и не требует создания временной базы.
- Прочитай
.v8-project.jsonиз корня проекта. Возьмиv8pathи разреши базу: - Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
- Если указал базу по имени — ищи по id / alias / name в
.v8-project.json - Если не указал — сопоставь текущую ветку Git с
databases[].branches - Если ветка не совпала — используй
default - Если
.v8-project.jsonнет или база не найдена — сообщи пользователю об ошибке. Для dump база обязательна: в пустой базе ссылочные типы (CatalogRef, DocumentRef и т.д.) безвозвратно сбрасываются в строки. Предложи указать базу или зарегистрировать через/db-list add.
Если v8path не задан — автоопределение: Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1
Если использованная база не зарегистрирована — после выполнения предложи добавить через /db-list add.
Команда
Используй общий скрипт из epf-dump:
powershell.exe -NoProfile -File .claude/skills/epf-dump/scripts/epf-dump.ps1 <параметры>
Параметры скрипта
| Параметр | Обязательный | Описание |
|---|---|---|
-V8Path <путь> |
нет | Каталог bin платформы (или полный путь к 1cv8.exe) |
-InfoBasePath <путь> |
* | Файловая база |
-InfoBaseServer <сервер> |
* | Сервер 1С (для серверной базы) |
-InfoBaseRef <имя> |
* | Имя базы на сервере |
-UserName <имя> |
нет | Имя пользователя |
-Password <пароль> |
нет | Пароль |
-InputFile <путь> |
да | Путь к ERF-файлу |
-OutputDir <путь> |
да | Каталог для выгрузки исходников |
-Format <формат> |
нет | Hierarchical (по умолч.) / Plain |
*— обязательно хотя бы одно подключение. Без базы скрипт завершится с ошибкой (dump в пустой базе безвозвратно теряет ссылочные типы)
Коды возврата
| Код | Описание |
|---|---|
| 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\МойОтчёт.erf" -OutputDir "src"
# Серверная база
powershell.exe -NoProfile -File .claude/skills/epf-dump/scripts/epf-dump.ps1 -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -InputFile "build\МойОтчёт.erf" -OutputDir "src"