mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-18 00:29:42 +03:00
8542b45719
Раундтрип терял FixedArray у choiceParameter со значением-списком из ОДНОГО элемента (напр. ВводОстатковВнеоборотныхАктивов/ФормаРедактированияСтрокиНМА: 9 из 10 FixedArray эмитились как скаляр → 45 строк LOST). Корень — классический PowerShell unwrap: Get-ElProp возвращает 1-элементный массив, но PS разворачивает его на RETURN функции (и при биндинге параметра), так что $isArray=false → значение эмитилось как одиночный <Value> вместо <Value xsi:type="v8:FixedArray"> с одним <v8:Value>. Фикс (только ps1): в Emit-ChoiceParameters значение читается ПРЯМЫМ member/индексер-доступом (не через Get-ElProp — его return разворачивает), массив-ность вычисляется до биндинга и передаётся в Emit-ChoiceParamValue явным флагом -isArray (foreach по развёрнутому скаляру = 1 итерация → корректный 1-элементный FixedArray). PY не затронут (Python не разворачивает списки). Системный артефакт: во многом раздувал кластер app:item>Value в раундтрипе (PS-харнесс). Верификация: таргет-форма → match (45→0; FixedArray 1→10); регресс form-compile 43/43 (ps1+py); 1С-cert input-fields (1-элементный массив-choiceParameter → FixedArray, грузится). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>