mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-21 17:55:53 +03:00
Источники подписки на событие читались только из v8:Type. Если источник задан множеством — определяемым типом или целым классом «все документы» — строки «Источники» не было вовсе, и подписка выглядела так, будто ни на что не срабатывает. В erp_8.3.24 так задана треть подписок: 151 из 492 вообще без v8:Type, в acc_8.3.24 — 126 из 443. Тот же дефект в типах реквизитов, и там он чаще. Вхождений v8:TypeSet>cfg:DefinedType в Catalogs/Documents/InformationRegisters/ AccumulationRegisters ERP — 8841, из них 7575 (86%) указывают на определяемый тип ровно с одним членом. АвансовыйОтчет печатал «Сумма ОпределяемыйТип.ДенежнаяСуммаНеотрицательная», и было не видно, что это Число(15,2): имя выглядит как ссылочный тип. Голый метатип-категория («ДокументСсылка» без точки = любой документ) отличался от конкретного «ДокументСсылка.Заказ» только наличием точки посреди длинного имени. Правило одно на все места: имя множества стоит в строке типа, а раскрытие — ровно одной записью на уникальное множество, глоссарием в конце вывода. Раскрывать в строке нельзя дважды: псевдоним повторяется в объекте десятками раз (в АвансовомОтчете — 12), а в корпусе есть определяемые типы на 596 типов — вывод упёрся бы в постраничник и съел хвост объекта. Выше порога composedTypeThreshold вместо состава идут счётчик и готовая команда раскрытия. Голый метатип получает суффикс «(все)»: разница становится словом, а не пунктуацией. Характеристика ПВХ помечена как набор, определяемый данными, — из выгрузки её состав не берётся в принципе. Попутно того же класса: - объектные типы (DocumentObject.X, *RecordSet.X, *Manager.X) печатались по-английски в выводе определяемого типа и по-русски в источниках подписки — одно понятие двумя видами; в карту добавлены недостающие виды, включая ConstantValueManager и ChartOfCalculationTypesObject; - собственный вывод определяемого типа читал только v8:Type и молча терял v8:TypeSet — счётчик «Типы (N)» врал; - корень конфигурации ищется климбом до Configuration.xml, общим с проверкой поддержки, а не фиксированным «на два уровня выше»; - состав определяемого типа кэшируется по имени; - нечитаемый файл типа назван нечитаемым, а не отсутствующим. Проверено корпусом: 5129 прогонов по erp_8.3.24 и acc_8.3.24 в трёх режимах, каждое расхождение с эталоном до правки классифицировано, необъяснённых нет. Паритет портов — 5129 из 5129, 103912 строк совпали. Проблему и замеры по подпискам сообщил автор PR #96. Co-Authored-By: Шпаков Антон Александрович <shpakov.anton.job@gmail.com> Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>