mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-06-14 18:04:58 +03:00
2a8d594f66
Поле набора динсписка (settings.fields[]) — три подвида, терявшиеся при раундтрипе
(форма ИнвентаризацияНМА/ФормаПодбораДокументовЗатрат: 18 diff-строк → 0):
1. inputParameters[].typeLink {field, linkItem} — связь по типу (dcscor:TypeLink,
субконто с типом-от-счёта). Декомпилятор склеивал InnerText в строку
("СчётДт"+"1"="СчётДт1") → компилятор писал xs:string. Структурный захват + эмит.
2. folder: true — поле-папка (DataSetFieldFolder, группировка СубконтоДт над
СубконтоДт1/2/3; без <field>). Ловился только NestedDataSet; компилятор хардкодил
DataSetFieldField + всегда <field>.
3. пустой dataPath: "" — поле с <dcssch:dataPath/> + <field> (≠ дефолт dataPath==field).
Декомпилятор дропал → компилятор реконструировал dataPath=field. Has-Child вместо
$dp -and; явный dataPath (вкл. "") побеждает fallback (self-closing при "").
Зеркало py (ps1==py байт-в-байт), регресс 43/43 (ps+py), широкий прогон list-top:
match 25→26, TOTAL 445→427, 0 регрессий. Декомпилятор v0.147 / компилятор v1.171.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>