fix(db-repo,db-load-cf,epf-build): объявления цепочки v8path выше точки вызова

PowerShell ищет функцию в момент вызова и видит только уже выполнившиеся
объявления. В трёх навыках блок Find-V8Project/Test-SamePath/Find-ProjectDatabase
оказался ниже строки, где отрабатывает Find-ProjectV8Path: CommandNotFoundException
уходил в stderr, результат становился $null, и выбор платформы по записи базы молча
откатывался на корневой v8path. Порты .py не задеты — Python связывает имя при
вызове, так что расхождение PS↔PY было бы тихим.

Гард check-ps-define-before-call.mjs проверяет порядок объявлений во всех .ps1,
где отрабатывает эта цепочка (15 навыков), и на прежнем состоянии даёт ровно те
три диагностики. Кейс db-repo/v8path-from-database ловит тот же дефект поведением.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Nick Shirokov
2026-09-19 21:16:22 +03:00
co-authored by Claude Opus 5
parent 874ae650ca
commit 77c797e6d0
9 changed files with 175 additions and 71 deletions
@@ -0,0 +1,33 @@
{
"name": "Платформа берётся из v8path записи базы",
"fakePlatform": {
"log": "---- Начало операции с хранилищем конфигурации ----\r\nОбъект не был изменен: Справочник.Номенклатура\r\n---- Операция с хранилищем конфигурации завершена ----\r\nПомещение изменений объектов в хранилище успешно завершено\r\n"
},
"preRun": [
{
"writeFile": {
"path": ".v8-project.json",
"content": {
"v8path": "{workDir}/nowhere/1cv8.exe",
"databases": [
{ "id": "dev", "name": "Dev", "type": "file", "path": "{workDir}/ib", "v8path": "{fakePlatform}" }
]
}
}
}
],
"args_extra": [
"-InfoBasePath", "{workDir}/ib",
"-RepositoryPath", "{workDir}/repo",
"-RepositoryUser", "Admin",
"-Command", "commit",
"-Objects", "Справочник.Номенклатура",
"-Comment", "x"
],
"cwd": "workDir",
"expect": {
"stdoutContains": "Новая версия в хранилище НЕ создана",
"stdoutNotContains": "nowhere"
},
"noSnapshot": "проверяется выбор платформы по stdout, файлов на выходе нет"
}