mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-15 02:14:57 +03:00
081d3a8a2f
Три механических фикса доминирующего кластера встроенных DCS-настроек динсписка
(152/690 дифф-форм rt-iter). Таргет-выборка 102 формы: TOTAL 657→280, match 0→82,
ноль регрессий.
1. TypeId-verbatim. Тип параметра/реквизита, заданный глобальным стабильным GUID
(<v8:TypeId>, не <v8:Type>) — платформа так сериализует типы, чьё имя в контексте
недоступно (определяемые/характеристики). Декомпилятор не ловил → параметр терял
valueType. Маркер 'typeid:<GUID>' в грамматике типа: Decompile-Type ловит <v8:TypeId>,
Emit-SingleType разворачивает обратно (как роль-по-GUID; GUID глобально стабилен →
безопасно). Форма ОстаткиПартийСАТУРН/ФормаОстатков → match.
2. DataSetFieldNestedDataSet. Компилятор хардкодил xsi:type="DataSetFieldField" для
всех полей набора → терял поле-вложенный набор (реквизит табличной части объекта).
Маркер fields[].nested: декомпилятор ловит ...NestedDataSet, компилятор зеркалит.
3. ListSettings self-closing. Пустой дескриптор listSettings:{} эмитился парой
<ListSettings></ListSettings>, оригинал — self-closing <ListSettings/> (70 форм
корпуса). Зеркалим self-closing при пустом эмите (отслеживание буфера).
Остаток кластера (вне A, отдельные задачи): структура группировок списка
(dcsset:item StructureItemGroup), KeyField/CalculatedField/Field-valueType DataSet.
spec: fields.nested, listSettings:{} → self-closing, тип-токен typeid:<GUID>
(раундтрип, не для авторинга). Регресс form-compile 43/43 (ps1+py).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>