mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-06 19:50:20 +03:00
fix(form-compile): GUID.GUID значение → xr:DesignTimeRef (Normalize-ChoiceValue)
Значение параметра выбора (choiceParameters app:value) вида "GUID.GUID" (raw-ссылка по
метаданным.значение, оба GUID) эмитилось как xs:string: Normalize-ChoiceValue не
распознавал raw-GUID-ссылку → xs:string. Тот же класс, что choiceList DesignTimeRef-GUID
(commit 2d326c99), но другой потребитель.
Универсальный фикс: ветка GUID.GUID → xr:DesignTimeRef в Normalize-ChoiceValue (всегда
ссылка, не строка; named-ссылки Enum.X.Y детектятся ниже). Закрывает choiceParameters
и любой др. потребитель Normalize-ChoiceValue; choiceList не затронут (там явный
valueType побеждает Normalize). Зеркало py.
Форма НастройкиПрямыхВыплатФСС/ФормаЗаписи → match. ps1==py байт-в-байт. Регресс 43/43.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
b5e8e1df7a
commit
9ec5857e22
@@ -1,4 +1,4 @@
|
||||
# form-compile v1.168 — Compile 1C managed form from JSON or object metadata
|
||||
# form-compile v1.169 — Compile 1C managed form from JSON or object metadata
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[string]$JsonPath,
|
||||
@@ -4044,6 +4044,12 @@ function Normalize-ChoiceValue {
|
||||
return @{ XsiType = "xs:dateTime"; Text = $s }
|
||||
}
|
||||
|
||||
# Raw-ссылка по GUID (метаданные.значение, оба GUID): "GUID.GUID" → xr:DesignTimeRef
|
||||
# (всегда ссылка, не строка; named-ссылки Enum.X.Y детектятся ниже).
|
||||
if ($s -match '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\.[0-9a-fA-F]{8}-[0-9a-fA-F-]+$') {
|
||||
return @{ XsiType = "xr:DesignTimeRef"; Text = $s }
|
||||
}
|
||||
|
||||
# Try to detect typed reference path: "<Root>.<Type>[.<Member>.<Value>]"
|
||||
$parts = $s -split '\.'
|
||||
if ($parts.Count -ge 2) {
|
||||
|
||||
Reference in New Issue
Block a user