Files
cc-1c-skills/tests/skills/cases/xdto-info/snapshots/required-only/required-only.txt
T
Nick ShirokovandClaude Opus 5 817ae0fea7 fix(xdto-info): рецепты создания по факту вида типа
Рецепт для вложенного объекта учил окольной форме там, где она не нужна.
Именованный тип берётся так же, как корневой — ФабрикаXDTO.Тип(ns, имя);
через Свойства.Получить(...).Тип идут только к анонимному, у которого имени
нет. Теперь строка выдаётся по факту: для именованного одна форма, для
анонимного другая, и обе с настоящими именами из пакета.

Убрано утверждение «Узел = ФабрикаXDTO.Создать(ТипУзла, Значение)» для типа
со значением элемента. По синтакс-помощнику Создать(<Тип>, <Значение>)
принимает ТипЗначенияXDTO, а такой узел — объектный тип, то есть форма была
просто неверной. Вместо неё проверяемый факт: значение лежит в свойстве
__content.

Зато для типа значения эта форма как раз корректна, а рецепта там не было
вовсе — добавлен.

Попутно: строка-заглушка «(раскрыт выше)» создавалась без новых ключей, и
py-порт падал с KeyError там, где PowerShell молча возвращает $null на
отсутствующем свойстве. Ключи добавлены, доступ переведён на .get().

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 13:52:52 +03:00

23 lines
1.6 KiB
Plaintext

=== Тип XDTO: Документ === (глубина 3)
Пакет: nested · urn:test:nested
Свойства: обязательных 2 из 3 (-RequiredOnly; скрыто строк: 2)
Реквизиты объект Реквизиты [обязательный]
Наименование Строка [обязательный]
Встроенный объект (анонимный) [обязательный]
Ид Строка [обязательный]
__content Дата [обязательный, значение элемента]
Обозначения:
объект X — присвоить вложенный объект XDTO, состав раскрывает -Depth
значение элемента — собственное значение узла XML
Создание:
Тип = ФабрикаXDTO.Тип("urn:test:nested", "Документ");
Объект = ФабрикаXDTO.Создать(Тип);
// вложенный именованный тип — так же, как корневой:
Реквизиты = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn:test:nested", "Реквизиты"));
// у анонимного типа нет имени — только через свойство владельца:
Встроенный = ФабрикаXDTO.Создать(Тип.Свойства.Получить("Встроенный").Тип);
// собственное значение узла лежит в свойстве __content