1c-epf-build · git:20260814.b9b7885 · 2026-08-14 · sha256 6358ed95165fcfe0
1c-epf-build git:20260814.b9b7885A
Immutable. This exact content is served forever at /api/v1/blob/6358ed95165fcfe0.
--- name: 1c-epf-build description: Собрать внешнюю обработку 1С (EPF/ERF) из XML-исходников. Используй когда пользователь просит собрать, скомпилировать обработку или получить EPF/ERF файл из исходников argument-hint: <ProcessorName> allowed-tools: - Bash - Read - Glob - Grep --- # /epf-build — Сборка обработки ## Usage ``` /epf-build <ProcessorName> [SrcDir] [OutDir] ``` | Параметр | Обязательный | По умолчанию | Описание | |---------------|:------------:|--------------|--------------------------------------| | ProcessorName | да | — | Имя обработки (имя корневого 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` нет или база не найдена — не указывай параметры подключения: скрипт автоматически создаст временную базу. Для EPF со ссылочными типами (CatalogRef, DocumentRef и т.д.) генерируются заглушки метаданных. Временная база удаляется после сборки. Если `v8path` не задан — автоопределение: `Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1` Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. ## Команда ```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 <путь>` | да | Путь к выходному EPF/ERF-файлу | > `*` — опционально. Если не указано — автоматически создаётся временная база со заглушками метаданных ## Примеры ```powershell # Сборка обработки (файловая база) powershell.exe -NoProfile -File skills/1c-epf-build/scripts/epf-build.ps1 -InfoBasePath "C:\Bases\MyDB" -SourceFile "src/МояОбработка.xml" -OutputFile "build/МояОбработка.epf" # Серверная база 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/МояОбработка.epf" ``` ## После пересборки: кеш метаданных по имени файла Платформа (по сообщениям, начиная с 8.3.11) кеширует метаданные внешней обработки, привязывая кеш к **имени файла**. Пересобрал обработку под тем же именем - в сеансе может подхватиться структура из кеша: новые реквизиты и команды "не видны", хотя в файле они есть. Лечится сменой UUID обработки при пересборке либо новым именем файла. **Своей проверкой это не подтверждено** - нужна живая платформа, в тестовом контуре набора ее нет. Источник - свод правил проекта [1c-ai-dev-env](https://github.com/Pradushkoai/1c-ai-dev-env) (MIT). Как проверить у себя: собрать обработку, открыть в сеансе, добавить реквизит, пересобрать под тем же именем и открыть снова, не перезапуская сеанс. Реквизита нет - кеш есть.