mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-19 17:19:42 +03:00
a38874280c
Get-Events клал в on только авто-именованные обработчики, а кастомные (переименованные или без суффикса: OnActivateDate, ValueChoice, Selection с нестандартным именем…) — ТОЛЬКО в handlers, минуя on. Компилятор итерирует по on → такие события не эмитились вообще. Корпус acc_8.3.24: 190 элементов в 114 формах из 400 теряли Events. Контракт DSL (spec §4.1/4.2): on = полный список имён событий, handlers = переопределение имени. Декомпилятор нарушал его — чистый баг класса 1, компилятор корректен. Чиним: каждое событие → в on (порядок документа), handlers только для не-авто имён. Порядок важен: в корпусе 1956 <Events>-блоков, где кастомное событие идёт перед авто (паттерн не A*C*). Поэтому union в компиляторе (on, затем handlers) дал бы неверный порядок — единственная упорядоченная структура DSL это on, её и заполняем полностью. Зеркало PY компилятора не нужно (правка только декомпилятора). Валидация: ПериодКомандировки/Банки/АктивныеПользователи — Events ушли из диффов. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>