mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-03 00:30:52 +03:00
feat(xdto-info): структура пакета и типа в терминах 1С
Навык отвечает на вопрос «что присвоить и что обязательно», а не показывает модель как есть. Типы переведены в нотацию 1С с учётом ограничений (xs:decimal + totalDigits → Число(18,2)), псевдонимы развёрнуты со стрелкой на исходное имя, кратность вынесена во флаги, для перечислимых типов выводятся допустимые литералы. Различие атрибут/элемент в таблице свойств не показывается: в коде 1С обращение одинаковое. Флаг ставится на обязательные, хотя в модели XDTO умолчание обратное. Причина — соседний meta-info, где непомеченный реквизит необязательный: один значок, означающий в двух навыках противоположное, сам по себе источник ошибок. Режимы: список пакетов конфигурации, состав пакета с точками входа, структура типа с разузлованием на -Depth и used-by. Разузлование идёт через границы пакетов с пометкой источника, анонимные типы раскрываются всегда, циклы обрываются. Пакет адресуется путём, именем или namespace — последнее потому, что модель приходит к задаче от строки ФабрикаXDTO.Тип(ns, имя), а не от имени пакета в конфигурации. Попутно закрыт баг паритета во всех четырёх py-портах: платформа допускает в targetNamespace произвольную строку (в БП есть пакет с кириллическим «ДопФайлУниверсальный»), .NET такое принимает, а libxml2 отвергает как невалидный URI. Добавлено узкое отступление на восстанавливающий разбор — только для этой ошибки, чтобы валидатор не перестал замечать битый XML. Обнаружено это только потому, что корпус впервые прогнан на Python: раньше все 760 гонялись лишь на PowerShell. Теперь 760/760 на обоих рантаймах. Сортировка в PS переведена на ординальную: Sort-Object сортирует по культуре, sorted() в Python — по кодам, и на смешанных латиница/кириллица имена расходились бы. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
bd4a082259
commit
a4a55cf883
+18
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<ClientApplicationInterface xmlns="http://v8.1c.ru/8.2/managed-application/core" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="InterfaceLayouter">
|
||||
<top>
|
||||
<panel id="UUID-001">
|
||||
<uuid>UUID-002</uuid>
|
||||
</panel>
|
||||
</top>
|
||||
<left>
|
||||
<panel id="UUID-003">
|
||||
<uuid>UUID-004</uuid>
|
||||
</panel>
|
||||
</left>
|
||||
<panelDef id="UUID-004"/>
|
||||
<panelDef id="UUID-005"/>
|
||||
<panelDef id="UUID-006"/>
|
||||
<panelDef id="UUID-002"/>
|
||||
<panelDef id="UUID-007"/>
|
||||
</ClientApplicationInterface>
|
||||
Reference in New Issue
Block a user