mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-06 10:10:52 +03:00
fix(epf-build): проверка исходников не видела модулей и форм
Относительный путь при копировании содержимого объекта в конфигурацию-заглушку считался через Substring по длине переданной строки. Каталог может прийти с коротким именем (C:\Users\NSHIRO~1\...), а Get-ChildItem отдаёт полное — разница в один символ, и файлы уезжали в <Объект>\а\Ext\ObjectModule.bsl. Проверка при этом молча шла по объекту без модулей и форм и всегда была зелёной. Длина берётся у разрешённого пути; py-порт иммунен (os.path.relpath). Дефект нашли новые кейсы stub-db-create — конвертация внешней обработки в объект конфигурации: корневой тег и порождаемые типы, перевыпуск GUID, копирование .bsl байт в байт. Каждый сверен возвратом дефекта в обоих портах. 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
368d6bb278
commit
06bdee3e25
@@ -1,4 +1,4 @@
|
||||
# stub-db-create v1.9 — Create temp 1C infobase with metadata stubs for EPF/ERF build
|
||||
# stub-db-create v1.10 — Create temp 1C infobase with metadata stubs for EPF/ERF build
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
@@ -442,9 +442,13 @@ function Add-SourceObjectToConfig {
|
||||
# Содержимое объекта — как есть; в XML та же подстановка типа, .bsl копируются байт в байт.
|
||||
$srcContent = Join-Path (Split-Path $SourceXml -Parent) $name
|
||||
if (Test-Path $srcContent) {
|
||||
# Длину префикса берём у РАЗРЕШЁННОГО пути, а не у переданной строки: путь может
|
||||
# прийти с коротким именем (C:\Users\NSHIRO~1\…), а Get-ChildItem отдаёт полное — тогда
|
||||
# отрезание по длине исходной строки оставляет в относительном пути чужие символы.
|
||||
$srcRoot = (Get-Item -LiteralPath $srcContent).FullName.TrimEnd('\', '/')
|
||||
$dstContent = Join-Path $objDir $name
|
||||
foreach ($f in (Get-ChildItem -Path $srcContent -Recurse -File)) {
|
||||
$rel = $f.FullName.Substring($srcContent.Length).TrimStart('\', '/')
|
||||
foreach ($f in (Get-ChildItem -LiteralPath $srcRoot -Recurse -File)) {
|
||||
$rel = $f.FullName.Substring($srcRoot.Length).TrimStart('\', '/')
|
||||
$dst = Join-Path $dstContent $rel
|
||||
New-Item -ItemType Directory -Path (Split-Path $dst -Parent) -Force | Out-Null
|
||||
if ($f.Extension -ieq '.xml') {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# stub-db-create v1.9 — Create temp 1C infobase with metadata stubs for EPF/ERF build
|
||||
# stub-db-create v1.10 — Create temp 1C infobase with metadata stubs for EPF/ERF build
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
|
||||
import argparse
|
||||
|
||||
Reference in New Issue
Block a user