Claude Skill

1c-erf-dump

Разобрать ERF-файл отчёта 1С в XML-исходники. Используй когда пользователь просит разобрать, декомпилировать отчёт, получить исходники из ERF файла

LLM Mart · 0 points · 11 views 0 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download Desko77-claude-code-skills-1c-skills_1c-erf-dump-eb281b4.zip · 2 KB
Part of desko77/claude-code-skills-1c — 48 skills

Install

skills CLI npx skills add https://github.com/Desko77/claude-code-skills-1c/tree/main/skills/1c-erf-dump
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install desko77-claude-code-skills-1c@llmmart
Git git clone https://github.com/Desko77/claude-code-skills-1c.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole desko77/claude-code-skills-1c collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

/erf-dump - Разборка отчета

Usage

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

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

Для разборки EPF/ERF требуется информационная база с конфигурацией. Без базы ссылочные типы безвозвратно теряются.

  1. Прочитай .v8-project.json из корня проекта. Возьми v8path и разреши базу:
  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 не задан - автоопределение: Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1 Если использованная база не зарегистрирована - после выполнения предложи добавить через /db-list add.

Команда

Используй общий скрипт из epf-dump:

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

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

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

* - обязательно хотя бы одно подключение. Без базы скрипт завершится с ошибкой (dump в пустой базе безвозвратно теряет ссылочные типы)

Примеры

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

# Серверная база
powershell.exe -NoProfile -File skills/1c-epf-dump/scripts/epf-dump.ps1 -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -InputFile "build/МойОтчет.erf" -OutputDir "src"
Files (claude-code-skills-1c)
  • evals
    • evals.json 2.5 KB
      {
        "skill_name": "1c-erf-dump",
        "evals": [
          {
            "id": 1,
            "prompt": "Разбери отчёт ОтчётПоПродажам.erf из build/ в исходники. База файловая: C:\\Bases\\ERP.",
            "expected_output": "XML-исходники отчёта выгружены в src/ в иерархическом формате.",
            "expectations": [
              "Скрипт epf-dump.ps1 вызван с параметром -InputFile, указывающим на build\\ОтчётПоПродажам.erf",
              "Скрипт вызван с параметром -InfoBasePath C:\\Bases\\ERP",
              "Скрипт вызван с параметром -OutputDir src",
              "Создана структура src/ОтчётПоПродажам/ с вложенными Ext/ и Forms/",
              "Код возврата скрипта 0"
            ]
          },
          {
            "id": 2,
            "prompt": "Разбери внешний отчёт АнализДолгов.erf в папку report-src/. Подключение: сервер buh-srv, база Buh_2024, пользователь Supervisor, пароль 12345.",
            "expected_output": "XML-исходники выгружены в report-src/ через серверное подключение.",
            "expectations": [
              "Скрипт epf-dump.ps1 вызван с параметром -InputFile, указывающим на АнализДолгов.erf",
              "Скрипт вызван с параметрами -InfoBaseServer buh-srv и -InfoBaseRef Buh_2024",
              "Скрипт вызван с параметром -UserName Supervisor",
              "Скрипт вызван с параметром -OutputDir report-src"
            ]
          },
          {
            "id": 3,
            "prompt": "Разбери ОтчётОстатки.erf. Параметры подключения не указываю — возьми из проекта.",
            "expected_output": "База определена из .v8-project.json, разборка выполнена в src/.",
            "expectations": [
              "Прочитан файл .v8-project.json для определения базы и v8path",
              "Скрипт epf-dump.ps1 вызван с параметром -InputFile, указывающим на ОтчётОстатки.erf",
              "Скрипт вызван с параметром -OutputDir src",
              "Скрипт вызван с параметром -Format Hierarchical"
            ]
          }
        ]
      }
      
  • SKILL.md 4.2 KB
    ---
    name: 1c-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` из корня проекта. Возьми `v8path` и разреши базу:
    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` не задан - автоопределение: `Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1`
    Если использованная база не зарегистрирована - после выполнения предложи добавить через `/db-list add`.
    
    ## Команда
    
    Используй общий скрипт из epf-dump:
    
    ```powershell
    powershell.exe -NoProfile -File skills/1c-epf-dump/scripts/epf-dump.ps1 <параметры>
    ```
    
    ### Параметры скрипта
    
    | Параметр | Обязательный | Описание |
    |----------|:------------:|----------|
    | `-V8Path <путь>` | нет | Каталог bin платформы (или полный путь к 1cv8.exe) |
    | `-InfoBasePath <путь>` | * | Файловая база |
    | `-InfoBaseServer <сервер>` | * | Сервер 1С (для серверной базы) |
    | `-InfoBaseRef <имя>` | * | Имя базы на сервере |
    | `-UserName <имя>` | нет | Имя пользователя |
    | `-Password <пароль>` | нет | Пароль |
    | `-InputFile <путь>` | да | Путь к ERF-файлу |
    | `-OutputDir <путь>` | да | Каталог для выгрузки исходников |
    | `-Format <формат>` | нет | `Hierarchical` (по умолч.) / `Plain` |
    
    > `*` - обязательно хотя бы одно подключение. Без базы скрипт завершится с ошибкой (dump в пустой базе безвозвратно теряет ссылочные типы)
    
    ## Примеры
    
    ```powershell
    # Разборка отчета (файловая база)
    powershell.exe -NoProfile -File skills/1c-epf-dump/scripts/epf-dump.ps1 -InfoBasePath "C:\Bases\MyDB" -InputFile "build/МойОтчет.erf" -OutputDir "src"
    
    # Серверная база
    powershell.exe -NoProfile -File skills/1c-epf-dump/scripts/epf-dump.ps1 -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -InputFile "build/МойОтчет.erf" -OutputDir "src"
    ```
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related