Files
cc-1c-skills/.claude/skills/erf-build/SKILL.md
T
Nick ShirokovandClaude Opus 4.8 26888a07d5 chore(repo): нормализация EOL к LF + .gitattributes
Приводим авторский контент (.ps1/.psm1/.py/.mjs/.md/.json, пин .bsl)
к единому LF и закрепляем политикой в .gitattributes. Инструмент правки
всегда пишет LF, поэтому единый LF убирает EOL-шум в диффах, ложные
срабатывания blame и налог на ручную синхронизацию CRLF-файлов.

BOM на .ps1 сохранён (git с eol=lf меняет только CR<->LF, BOM не трогает).
Данные 1С (*.xml) и бинарники под нормализацию не берём.

Гейт: PS-порт 459/459, Python-порт 459/459, web-test E2E 22/22 (с пересборкой стенда).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-24 14:22:45 +03:00

4.3 KiB

name, description, argument-hint, allowed-tools
name description argument-hint allowed-tools
erf-build Собрать внешний отчёт 1С (ERF) из XML-исходников. Используй когда пользователь просит собрать, скомпилировать отчёт или получить ERF файл из исходников <ReportName>
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 не задан — скрипт сам попытается определить платформу (.v8-project.json → Program Files). Если использованная база не зарегистрирована — после выполнения предложи добавить через /db-list add.

Команда

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

powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/../epf-build/scripts/epf-build.ps1" <параметры>

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

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

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

Примеры

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

# Серверная база
powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/../epf-build/scripts/epf-build.ps1" -InfoBaseServer "srv01" -InfoBaseRef "MyDB" -UserName "Admin" -Password "secret" -SourceFile "src/МойОтчёт.xml" -OutputFile "build/МойОтчёт.erf"