mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-20 00:45:54 +03:00
feat(epf-build): исходники проверяются платформой до сборки
Сборка .epf/.erf не компилирует модули, поэтому сломанный BSL уезжал пользователю и падал при открытии обработки. Прямой команды «проверь внешнюю обработку» у платформы нет, но объект конфигурации она проверяет: обработка кладётся в конфигурацию временной базы (stub-db-create -EmbedSourceFile) и спрашивается /CheckConfig. При находках сборка отменяется, в выводе — сообщение платформы и путь к файлу исходника. Ключи -Checks и -Context; выключение -Checks off или externalCheck: false в .v8-project.json. С выключенной проверкой поведение прежнее. У копии объекта перевыпускаются все GUID: с идентификаторами исходника платформа путает копию в базе с загружаемой внешней обработкой и через раз отвечает «Исключение XDTO при чтении файла» на исправном исходнике. Ручная матрица (база есть/нет × ps1/py × исправный/битый × с модулями/без) вскрыла ещё три вещи: отказ платформы принять исходники при подготовке проверки выдавался за сбой базы; py-порт стаба терял причину отказа LoadConfigFromFiles (не было /Out, в PS он есть); копии общих утилит в stub-db-create.py разошлись с эталоном db-create — у run_v8 не было POSIX-ветки, из-за чего на darwin/Linux временная база с пробелом в пути молча не находилась бы. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013MQkqXxErBepYmoUycfkbn
This commit is contained in:
co-authored by
Claude Opus 5
parent
a3ea0b7be6
commit
448f05ed11
@@ -25,7 +25,8 @@ allowed-tools:
|
||||
|
||||
## Параметры подключения (опционально)
|
||||
|
||||
Предпочтительно использовать конкретную базу — это надёжнее и не требует создания временной базы.
|
||||
Предпочтительно использовать конкретную базу — это надёжнее. Временная база всё равно поднимается
|
||||
под проверку исходников, если она не отключена.
|
||||
|
||||
1. Прочитай `.v8-project.json` из корня проекта. Возьми `v8path` и разреши базу:
|
||||
2. Если пользователь указал параметры подключения (путь, сервер) — используй напрямую
|
||||
@@ -57,11 +58,22 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/../epf-build/scripts/epf-bu
|
||||
| `-Password <пароль>` | нет | Пароль |
|
||||
| `-SourceFile <путь>` | да | Путь к корневому XML-файлу исходников |
|
||||
| `-OutputFile <путь>` | да | Путь к выходному ERF-файлу |
|
||||
| `-Checks <список>` | нет | Что проверить перед сборкой: `modules`, `handlers`, `unreferenced`, `empty-handlers`, `config`; `off` — не проверять. По умолчанию `modules,handlers` |
|
||||
| `-Context <список>` | нет | Контексты проверки `modules`: `ThinClient`, `Server`, `ExternalConnection`, `ThickClientOrdinaryApplication`. По умолчанию `ThinClient,Server` |
|
||||
| `-AdditionalV8Arguments <список>` | нет | Доп. аргументы запуска `1cv8.exe` через запятую, напр. `/UseHwLicenses+` |
|
||||
| `-AdditionalIbcmdArguments <список>` | нет | Доп. аргументы `ibcmd` через запятую, в форме `--ключ=значение` |
|
||||
|
||||
> `*` — опционально. Если не указано — автоматически создаётся временная база со заглушками метаданных
|
||||
|
||||
## Проверка перед сборкой
|
||||
|
||||
Перед сборкой исходники проверяет платформа — синтаксис модулей и наличие обработчиков форм.
|
||||
Если она нашла проблемы, сборка отменяется и файл не создаётся; в выводе — сообщение
|
||||
платформы со строкой и колонкой и путь к файлу исходника. Отключается `-Checks off`
|
||||
или ключом `"externalCheck": false` в `.v8-project.json`.
|
||||
|
||||
Проверка идёт на отдельной временной базе, даже если база указана: чужую конфигурацию навык не трогает.
|
||||
|
||||
## Примеры
|
||||
|
||||
```powershell
|
||||
|
||||
Reference in New Issue
Block a user