mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 02:14:57 +03:00
2abaa28f16
Реквизит с <Save><Field>имя.Settings.Filter</Field> (напр. SettingsComposer): декомпилятор снимал префикс "имя." ВСЕГДА (regex `(.+)`) → "Settings.Filter", но компилятор реинъектит префикс ТОЛЬКО для полей без точки (dot-правило: путь с точкой = полный, как есть). Рассогласование → префикс реквизита терялся при раундтрипе. Фикс (декомпилятор): снимаем префикс "имя." только когда остаток — простое под-поле без точки (`([^.]+)$`); многоуровневый путь "имя.X.Y" храним ПОЛНЫМ → компилятор по dot-правилу эмитит как есть. Period-кейс (одноуровневые EndDate/StartDate/Variant) не затронут. Корпус 8.3.24: 366 многоуровневых Save-полей в 89 формах. Выборка 40 форм: match 40/40, 0 регрессий (включая Period). Декомпилятор-only. Регресс 43/43. Spec обновлён. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>