$npx -y skills add Desko77/cursor-1c-skills --skill 1c-epf-buildСобрать внешнюю обработку 1С (EPF/ERF) из XML-исходников. Используй когда пользователь просит собрать, скомпилировать обработку или получить EPF/ERF файл из исходников
| 1 | # /epf-build — Сборка обработки |
| 2 | |
| 3 | ## Usage |
| 4 | |
| 5 | ``` |
| 6 | /epf-build <ProcessorName> [SrcDir] [OutDir] |
| 7 | ``` |
| 8 | |
| 9 | | Параметр | Обязательный | По умолчанию | Описание | |
| 10 | |---------------|:------------:|--------------|--------------------------------------| |
| 11 | | ProcessorName | да | — | Имя обработки (имя корневого XML) | |
| 12 | | SrcDir | нет | `src` | Каталог исходников | |
| 13 | | OutDir | нет | `build` | Каталог для результата | |
| 14 | |
| 15 | ## Параметры подключения (опционально) |
| 16 | |
| 17 | Предпочтительно использовать конкретную базу — это надёжнее и не требует создания временной базы. |
| 18 | |
| 19 | 1. Прочитай `.v8-project.json` из корня проекта. Возьми `v8path` и разреши базу: |
| 20 | 2. Если пользователь указал параметры подключения (путь, сервер) — используй напрямую |
| 21 | 3. Если указал базу по имени — ищи по id / alias / name в `.v8-project.json` |
| 22 | 4. Если не указал — сопоставь текущую ветку Git с `databases[].branches` |
| 23 | 5. Если ветка не совпала — используй `default` |
| 24 | 6. Если `.v8-project.json` нет или база не найдена — не указывай параметры подключения: скрипт автоматически создаст временную базу. Для EPF со ссылочными типами (CatalogRef, DocumentRef и т.д.) генерируются заглушки метаданных. Временная база удаляется после сборки. |
| 25 | |
| 26 | Если `v8path` не задан — автоопределение: `Get-ChildItem "C:\Program Files\1cv8\*\bin\1cv8.exe" | Sort -Desc | Select -First 1` |
| 27 | Если использованная база не зарегистрирована — после выполнения предложи добавить через `/db-list add`. |
| 28 | |
| 29 | ## Команда |
| 30 | |
| 31 | ```powershell |
| 32 | powershell.exe -NoProfile -File skills/1c-epf-build/scripts/epf-build.ps1 <параметры> |
| 33 | ``` |
| 34 | |
| 35 | ### Параметры скрипта |
| 36 | |
| 37 | | Параметр | Обязательный | Описание | |
| 38 | |----------|:------------:|----------| |
| 39 | | `-V8Path <путь>` | нет | Каталог bin платформы (или полный путь к 1cv8.exe) | |
| 40 | | `-InfoBasePath <путь>` | * | Файловая база | |
| 41 | | `-InfoBaseServer <сервер>` | * | Сервер 1С (для серверной базы) | |
| 42 | | `-InfoBaseRef <имя>` | * | Имя базы на сервере | |
| 43 | | `-UserName <имя>` | нет | Имя пользователя | |
| 44 | | `-Password <пароль>` | нет | Пароль | |
| 45 | | `-SourceFile <путь>` | да | Путь к корневому XML-файлу исходников | |
| 46 | | `-OutputFile <путь>` | да | Путь к выходному EPF/ERF-файлу | |
| 47 | |
| 48 | > `*` — опционально. Если не указано — автоматически создаётся временная база со заглушками метаданных |
| 49 | |
| 50 | ## Примеры |
| 51 | |
| 52 | ```powershell |
| 53 | # Сборка обработки (файловая база) |
| 54 | powershell.exe -NoProfile -File skills/1c-epf-build/scripts/epf-build.ps1 -InfoBasePath "C:\Bases\MyDB" -SourceFile "src/МояОбработка.xml" -OutputFile "build/МояОбработка.epf" |
| 55 | |
| 56 | # Серверная база |
| 57 | 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" |
| 58 | ``` |