mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-27 07:01:02 +03:00
fix(xdto-info): рецепты создания по факту вида типа
Рецепт для вложенного объекта учил окольной форме там, где она не нужна. Именованный тип берётся так же, как корневой — ФабрикаXDTO.Тип(ns, имя); через Свойства.Получить(...).Тип идут только к анонимному, у которого имени нет. Теперь строка выдаётся по факту: для именованного одна форма, для анонимного другая, и обе с настоящими именами из пакета. Убрано утверждение «Узел = ФабрикаXDTO.Создать(ТипУзла, Значение)» для типа со значением элемента. По синтакс-помощнику Создать(<Тип>, <Значение>) принимает ТипЗначенияXDTO, а такой узел — объектный тип, то есть форма была просто неверной. Вместо неё проверяемый факт: значение лежит в свойстве __content. Зато для типа значения эта форма как раз корректна, а рецепта там не было вовсе — добавлен. Попутно: строка-заглушка «(раскрыт выше)» создавалась без новых ключей, и py-порт падал с KeyError там, где PowerShell молча возвращает $null на отсутствующем свойстве. Ключи добавлены, доступ переведён на .get(). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6486f433de
commit
817ae0fea7
@@ -14,4 +14,5 @@
|
||||
Создание:
|
||||
Тип = ФабрикаXDTO.Тип("urn:test:uses", "Заявка");
|
||||
Объект = ФабрикаXDTO.Создать(Тип);
|
||||
Вложенный = ФабрикаXDTO.Создать(Тип.Свойства.Получить("Вид").Тип);
|
||||
// вложенный именованный тип — так же, как корневой:
|
||||
Вид = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn:test:common", "Справочник"));
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
Создание:
|
||||
Тип = ФабрикаXDTO.Тип("urn:test:nested", "Документ");
|
||||
Объект = ФабрикаXDTO.Создать(Тип);
|
||||
Вложенный = ФабрикаXDTO.Создать(Тип.Свойства.Получить("Реквизиты").Тип);
|
||||
// тип со значением элемента: значение задаётся при создании
|
||||
Узел = ФабрикаXDTO.Создать(ТипУзла, Значение);
|
||||
// вложенный именованный тип — так же, как корневой:
|
||||
Реквизиты = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn:test:nested", "Реквизиты"));
|
||||
// у анонимного типа нет имени — только через свойство владельца:
|
||||
Встроенный = ФабрикаXDTO.Создать(Тип.Свойства.Получить("Встроенный").Тип);
|
||||
// собственное значение узла лежит в свойстве __content
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
Создание:
|
||||
Тип = ФабрикаXDTO.Тип("urn:test:nested", "Документ");
|
||||
Объект = ФабрикаXDTO.Создать(Тип);
|
||||
Вложенный = ФабрикаXDTO.Создать(Тип.Свойства.Получить("Реквизиты").Тип);
|
||||
// тип со значением элемента: значение задаётся при создании
|
||||
Узел = ФабрикаXDTO.Создать(ТипУзла, Значение);
|
||||
// вложенный именованный тип — так же, как корневой:
|
||||
Реквизиты = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn:test:nested", "Реквизиты"));
|
||||
// у анонимного типа нет имени — только через свойство владельца:
|
||||
Встроенный = ФабрикаXDTO.Создать(Тип.Свойства.Получить("Встроенный").Тип);
|
||||
// собственное значение узла лежит в свойстве __content
|
||||
|
||||
@@ -6,3 +6,6 @@
|
||||
Допустимые значения (2):
|
||||
Поручение
|
||||
Требование
|
||||
|
||||
Создание:
|
||||
Значение = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("urn:test:types", "ВидДокумента"), Значение);
|
||||
|
||||
Reference in New Issue
Block a user