mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-14 18:04:58 +03:00
1d158e3218
Таблица формы, привязанная к динамическому списку, несёт блок специфичных свойств, который платформа всегда эмитит (n=5079 на дин-список-таблицах, 0 на ValueTable). Компилятор (ps1+py v1.40): авто-эмиссия блока на дин-список-таблице (Emit-DynListTableBlock): - Group A (дефолт+override): AutoRefresh(false), AutoRefreshPeriod(60), Period(пустой Custom, константа), ChoiceFoldersAndItems(Items), RestoreCurrentRow(false), TopLevelParent(nil, константа), ShowRoot(true), AllowRootChoice(false), UpdateOnDataChange(Auto), AllowGettingCurrentRowURL(true). - Group B (условные): DefaultItem, UseAlternationRowColor, FileDragMode (+ существующие InitialTreeView/EnableStartDrag). - Group C: RowPictureDataPath (умный дефолт <Список>.DefaultPicture + override + suppress-маркер ""; ИСПРАВЛЕН баг — пустая строка больше не перезатирается дефолтом), RowsPicture, UserSettingsGroup. - Эвристика 11b.4 теперь обходит ВСЕ DynamicList-реквизиты (не только main) → блок эмитится и для не-main/вторичных списков. Внутренний маркер _dynList исключён из валидатора ключей. Декомпилятор (v0.22): захват блока с инверсией (gate = наличие <UpdateOnDataChange>): Group A — опускает значения = дефолту; Group B — захват при наличии; RowPictureDataPath — DefaultPicture опускается, кастом захватывается, отсутствие → "". Валидация: дин-блок round-trip CLEAN (мультимножество, GUID-норм.) на простом списке и на форме с кастомным RowPictureDataPath/RowsPicture/UserSettingsGroup; сертификация в 1С PASS; py==ps1 идентичны; регресс 33/33 ps+py; harness 9634→8300 (−14%), 0 fail; группа «67» (AutoRefresh/ShowRoot/UpdateOnDataChange/…) ушла из остатка, residual block-теги 47→5. Spec — раздел «Таблица динамического списка»; тест-кейсы перегенерированы. Хвост и соседний кластер (свойства Table на не-дин-список таблицах) — в BACKLOG. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>