mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-01 16:00:51 +03:00
Навыки-создатели дописывали первый объект нового вида перед </ChildObjects>. Собранная ими конфигурация выходила в неканоническом порядке видов, и первая же загрузка-выгрузка давала диф: на стенде подали Language -> Catalog -> Document -> CommandGroup -> CommonCommand, платформа вернула Language -> CommonCommand -> CommandGroup -> Catalog -> Document. При этом cf-edit add-childObject и cfe-borrow канонический порядок уже держали — очередная «одна работа, разные реализации». Логика перенесена из cf-edit в семью Register-InChildObjects и в вариант nested-parent: запись встаёт перед первой группой вида старше по CHILD_OBJECT_TYPES. Для этого список канонического порядка добавлен в meta-compile, role-compile, xdto-compile и subsystem-compile (оба порта) и заведён в check-type-maps — копий стало 9 вместо 5, зато все под гардом. У подсистем нашлось больше, чем планировалось: вставка шла в конец ВСЕГО блока, поэтому подсистема покидала и собственную группу, если ниже были другие виды. Одно правило закрывает оба случая. Во вложенном Subsystem.xml порядок видов неприменим — потомок там всегда один, поведение не изменилось. Сдвиг эталонов широкий, но проверяемый: 42 файла в 12 навыках, 53 добавленные строки против 53 удалённых с совпадающим мультимножеством — чистая перестановка, все изменённые строки вида <Тег>Имя</Тег>. Из 425 эталонов с ChildObjects неканоничными осталось 15: 11 фикстур сортировки (неканоничны по замыслу) и 4 статические фикстуры на сохранение EOL и разбор форм, которые мы намеренно не переупорядочиваем. Версии подняты в обоих портах и за эту правку, и за предыдущую (карты типов). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QoAJmoNbgWKobA7JGgN5S3