Claude Skill

1c-erf-build

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

LLM Mart · 0 points · 10 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-build-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-build
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-build - Сборка отчета

Usage

/erf-build <ReportName> [SrcDir] [OutDir]
Параметр Обязательный По умолчанию Описание
ReportName да - Имя отчета (имя корневого XML)
SrcDir нет src Каталог исходников
OutDir нет build Каталог для результата

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

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

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

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

Команда

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

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

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

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

* - опционально. Если не указано - автоматически создается временная база со заглушками метаданных

Примеры

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

# Серверная база
powershell.exe -NoProfile -File skills/1c-epf-build/scripts/epf-build.ps1 -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -SourceFile "src/МойОтчет.xml" -OutputFile "build/МойОтчет.erf"
Files (claude-code-skills-1c)
  • evals
    • evals.json 2.4 KB
      {
        "skill_name": "1c-erf-build",
        "evals": [
          {
            "id": 1,
            "prompt": "Собери отчёт ОтчётПоПродажам из исходников src/ в build/. База файловая: C:\\Bases\\Trade.",
            "expected_output": "ERF-файл ОтчётПоПродажам.erf собран в папке build/.",
            "expectations": [
              "Скрипт epf-build.ps1 вызван с параметром -SourceFile src\\ОтчётПоПродажам.xml",
              "Скрипт вызван с параметром -OutputFile build\\ОтчётПоПродажам.erf",
              "Скрипт вызван с параметром -InfoBasePath C:\\Bases\\Trade",
              "Код возврата скрипта 0 (успешная сборка)",
              "Файл build/ОтчётПоПродажам.erf создан"
            ]
          },
          {
            "id": 2,
            "prompt": "Собери отчёт АнализОстатков. Исходники в sources/, результат положи в dist/. Используй серверную базу: srv-1c, база ERP_Prod.",
            "expected_output": "ERF-файл АнализОстатков.erf собран в dist/ через серверное подключение.",
            "expectations": [
              "Скрипт epf-build.ps1 вызван с параметром -SourceFile sources\\АнализОстатков.xml",
              "Скрипт вызван с параметром -OutputFile dist\\АнализОстатков.erf",
              "Скрипт вызван с параметрами -InfoBaseServer srv-1c и -InfoBaseRef ERP_Prod"
            ]
          },
          {
            "id": 3,
            "prompt": "Собери внешний отчёт ОтчётДебиторов. База не указана — определи автоматически.",
            "expected_output": "База определена из .v8-project.json, ERF-файл собран в build/.",
            "expectations": [
              "Прочитан файл .v8-project.json для определения базы и v8path",
              "Скрипт epf-build.ps1 вызван с параметром -SourceFile src\\ОтчётДебиторов.xml",
              "Скрипт вызван с параметром -OutputFile build\\ОтчётДебиторов.erf",
              "Использован путь к 1cv8.exe (автоопределён или из v8path)"
            ]
          }
        ]
      }
      
  • SKILL.md 4.2 KB
    ---
    name: 1c-erf-build
    description: Собрать внешний отчет 1С (ERF) из XML-исходников. Используй когда пользователь просит собрать, скомпилировать отчет или получить ERF файл из исходников
    argument-hint: <ReportName>
    allowed-tools:
      - Bash
      - Read
      - Glob
      - Grep
    ---
    
    # /erf-build - Сборка отчета
    
    ## Usage
    
    ```
    /erf-build <ReportName> [SrcDir] [OutDir]
    ```
    
    | Параметр   | Обязательный | По умолчанию | Описание                             |
    |------------|:------------:|--------------|--------------------------------------|
    | ReportName | да           | -            | Имя отчета (имя корневого XML)       |
    | SrcDir     | нет          | `src`        | Каталог исходников                   |
    | OutDir     | нет          | `build`      | Каталог для результата               |
    
    ## Параметры подключения (опционально)
    
    Предпочтительно использовать конкретную базу - это надежнее и не требует создания временной базы.
    
    1. Прочитай `.v8-project.json` из корня проекта. Возьми `v8path` и разреши базу:
    2. Если пользователь указал параметры подключения (путь, сервер) - используй напрямую
    3. Если указал базу по имени - ищи по id / alias / name в `.v8-project.json`
    4. Если не указал - сопоставь текущую ветку Git с `databases[].branches`
    5. Если ветка не совпала - используй `default`
    6. Если `.v8-project.json` нет или база не найдена - не указывай параметры подключения: скрипт автоматически создаст временную базу. Для ERF со ссылочными типами (CatalogRef, DocumentRef и т.д.) генерируются заглушки метаданных. Временная база удаляется после сборки.
    
    Если `v8path` не задан - автоопределение: `Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1`
    Если использованная база не зарегистрирована - после выполнения предложи добавить через `/db-list add`.
    
    ## Команда
    
    Используй общий скрипт из epf-build:
    
    ```powershell
    powershell.exe -NoProfile -File skills/1c-epf-build/scripts/epf-build.ps1 <параметры>
    ```
    
    ### Параметры скрипта
    
    | Параметр | Обязательный | Описание |
    |----------|:------------:|----------|
    | `-V8Path <путь>` | нет | Каталог bin платформы (или полный путь к 1cv8.exe) |
    | `-InfoBasePath <путь>` | * | Файловая база |
    | `-InfoBaseServer <сервер>` | * | Сервер 1С (для серверной базы) |
    | `-InfoBaseRef <имя>` | * | Имя базы на сервере |
    | `-UserName <имя>` | нет | Имя пользователя |
    | `-Password <пароль>` | нет | Пароль |
    | `-SourceFile <путь>` | да | Путь к корневому XML-файлу исходников |
    | `-OutputFile <путь>` | да | Путь к выходному ERF-файлу |
    
    > `*` - опционально. Если не указано - автоматически создается временная база со заглушками метаданных
    
    ## Примеры
    
    ```powershell
    # Сборка отчета (файловая база)
    powershell.exe -NoProfile -File skills/1c-epf-build/scripts/epf-build.ps1 -InfoBasePath "C:\Bases\MyDB" -SourceFile "src/МойОтчет.xml" -OutputFile "build/МойОтчет.erf"
    
    # Серверная база
    powershell.exe -NoProfile -File skills/1c-epf-build/scripts/epf-build.ps1 -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -SourceFile "src/МойОтчет.xml" -OutputFile "build/МойОтчет.erf"
    ```
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related