/epf-build - Сборка обработки
SkillFiles & storageThis skill builds external 1C add-ins (EPF and ERF files) from XML source files. Once added, your AI can compile a finished EPF or ERF file whenever you provide the XML sources.
Available today. Use it from your connected AI after setup.
No other account needed.
Add the skill, then ask your AI to build an EPF or ERF file and provide the XML source files.
Then ask your AI: use the /epf-build - Сборка обработки skill
What your AI can do with it
- Build EPF files from XML sources
- Build ERF files from XML sources
- Compile an external 1C add-in on request
What this skill tells your AI
The instructions your AI receives, as published by desko77/cursor-1c-skills in skills/1c-epf-build/SKILL.md and read by ahel’s review.
Usage
/epf-build <ProcessorName> [SrcDir] [OutDir]
| Параметр | Обязательный | По умолчанию | Описание |
|---|---|---|---|
| ProcessorName | да | - | Имя обработки (имя корневого XML) |
| SrcDir | нет | src | Каталог исходников |
| OutDir | нет | build | Каталог для результата |
Параметры подключения (опционально)
Предпочтительно использовать конкретную базу - это надежнее и не требует создания временной базы.
- Прочитай
.v8-project.jsonиз корня проекта. Возьмиv8pathи разреши базу: - Если пользователь указал параметры подключения (путь, сервер) - используй напрямую
- Если указал базу по имени - ищи по id / alias / name в
.v8-project.json - Если не указал - сопоставь текущую ветку Git с
databases[].branches - Если ветка не совпала - используй
default - Если
.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.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-файлу |
-StrictLog | нет | Отказ в журнале поднимает код возврата до 1, даже если платформа вернула 0 |
-AdditionalV8Arguments <список> | нет | Аргументы платформы через запятую, доходят и до временной базы |
*- опционально. Если не указано - автоматически создается временная база со заглушками метаданных
Примеры
# Сборка обработки (файловая база)
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 (MIT). Как проверить у себя: собрать обработку, открыть в сеансе, добавить реквизит, пересобрать под тем же именем и открыть снова, не перезапуская сеанс. Реквизита нет - кеш есть.
Дополнительные аргументы платформы
Аргумент, которого нет среди параметров навыка, передается ключом -AdditionalV8Arguments
списком через запятую: -AdditionalV8Arguments "/UseHwLicenses+,/ClearCache". Разделитель
запятая, а не пробел, потому что значение аргумента платформы само содержит пробелы.
Постоянный набор задается в .v8-project.json рядом с проектом:
{
"v8args": ["/UseHwLicenses+"],
"ibcmdargs": ["--verbose"]
}
Файл ищется вверх по дереву от целевого каталога. Аргументы вызова заменяют значение из настроек целиком, а не дополняют его: иначе снять заданный в проекте аргумент было бы нечем.
Вывод платформы
Потоки процесса перехватываются в файлы и печатаются под заголовком --- Вывод платформы ---.
Кодировка определяется по содержимому: платформа пишет в кодировке консоли (866 на русской
Windows), утилита администрирования и часть сборок - в UTF-8. Вывод показывается и при
успешном завершении: платформа сообщает предупреждения, не меняя код возврата.
Signals
- GitHub stars
- 57
- Forks
- 13
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
x-1c-epf-build-desko77- Source
- github.com/desko77/cursor-1c-skills