/epf-build - Сборка обработки
SkillFiles & storageBuild a finished 1C external processing (EPF/ERF) from XML source files. Once added, your AI can compile the sources into the ready file whenever you ask it to build or compile one. Useful when your 1C code is kept as XML and you need the EPF/ERF file.
Available today. Use it from your connected AI after setup.
No other account needed.
After adding the skill, point your AI to the XML sources and ask it to build the EPF or ERF file. It will compile the sources into the finished file for you.
Then ask your AI: use the /epf-build - Сборка обработки skill
What your AI can do with it
- Build an EPF external processing from XML source files
- Build an ERF file from XML source files
- Compile your XML sources into a finished EPF or ERF file
- Produce the ready file when you ask to build or compile a processing
What this skill tells your AI
The instructions your AI receives, as published by desko77/claude-code-skills-1c 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
- 61
- Forks
- 14
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
x-1c-epf-build- Source
- github.com/desko77/claude-code-skills-1c