mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-30 00:16:56 +03:00
fix(form-decompile,form-compile): use:false на группе фильтра (FilterItemGroup)
Группа условий фильтра <dcsset:item xsi:type="dcsset:FilterItemGroup"> может нести <dcsset:use>false</dcsset:use> (группа отключена, в т.ч. пустая OrGroup без детей). Декомпилятор ловил group/items/presentation/viewMode/userSettingID, но НЕ use → терялось; компилятор не эмитил. Декомпилятор: захват use:false на группе. Компилятор: emit <dcsset:use>false</dcsset:use> перед <groupType> (порядок исходника). Зеркало py. Корпус: 6 форм. Форма ДокументооборотСКонтролирующимиОрганами/ПоказСообщений → match. ps1==py байт-в-байт. Регресс 43/43. Spec обновлён. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
26c804391a
commit
95d8ece309
@@ -1,4 +1,4 @@
|
||||
# form-decompile v0.143 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# form-decompile v0.144 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
|
||||
param(
|
||||
@@ -648,6 +648,7 @@ function Build-FilterItem {
|
||||
if ($null -ne $bi) { $items += $bi }
|
||||
}
|
||||
$gObj = [ordered]@{ group = $groupName; items = $items }
|
||||
if ((Get-Text $itemNode "dcsset:use") -eq 'false') { $gObj['use'] = $false } # группа отключена (@off)
|
||||
$gPresNode = $itemNode.SelectSingleNode("dcsset:presentation", $ns)
|
||||
if ($gPresNode) {
|
||||
# Сохраняем форму по xsi:type (LocalStringType ru-only ≠ xs:string)
|
||||
|
||||
Reference in New Issue
Block a user