diff --git a/.claude/skills/form-compile/scripts/form-compile.ps1 b/.claude/skills/form-compile/scripts/form-compile.ps1 index a99fe19a..fb35c14b 100644 --- a/.claude/skills/form-compile/scripts/form-compile.ps1 +++ b/.claude/skills/form-compile/scripts/form-compile.ps1 @@ -1,4 +1,4 @@ -# form-compile v1.152 — Compile 1C managed form from JSON or object metadata +# form-compile v1.153 — Compile 1C managed form from JSON or object metadata # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$JsonPath, @@ -4847,6 +4847,10 @@ function Emit-PictureField { Emit-Layout -el $el -indent $inner + # FooterDataPath / FooterText — общие cell-свойства колонки (как у input/labelField) + if ($el.footerDataPath) { X "$inner$(Esc-Xml "$($el.footerDataPath)")" } + if ($null -ne $el.footerText) { Emit-MLText -tag "FooterText" -text $el.footerText -indent $inner } + # ValuesPicture — picture (collection) used to render the field's value. # Required for a Boolean-bound PictureField to actually show an icon. # Скаляр (Ref) или объект {src, loadTransparent}; LoadTransparent эмитится всегда. diff --git a/.claude/skills/form-compile/scripts/form-compile.py b/.claude/skills/form-compile/scripts/form-compile.py index 61c34e17..80682fb2 100644 --- a/.claude/skills/form-compile/scripts/form-compile.py +++ b/.claude/skills/form-compile/scripts/form-compile.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# form-compile v1.152 — Compile 1C managed form from JSON or object metadata +# form-compile v1.153 — Compile 1C managed form from JSON or object metadata # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import copy @@ -4575,6 +4575,12 @@ def emit_picture_field(lines, el, name, eid, indent): emit_layout(lines, el, inner) + # FooterDataPath / FooterText — общие cell-свойства колонки (как у input/labelField) + if el.get('footerDataPath'): + lines.append(f'{inner}{esc_xml(str(el["footerDataPath"]))}') + if el.get('footerText') is not None: + emit_mltext(lines, inner, 'FooterText', el['footerText']) + # ValuesPicture — picture (collection) used to render the field's value. # Required for a Boolean-bound PictureField to actually show an icon. # Скаляр (Ref) или объект {src, loadTransparent}; LoadTransparent эмитится всегда. diff --git a/.claude/skills/form-decompile/scripts/form-decompile.ps1 b/.claude/skills/form-decompile/scripts/form-decompile.ps1 index f219b1ec..52eb0854 100644 --- a/.claude/skills/form-decompile/scripts/form-decompile.ps1 +++ b/.claude/skills/form-decompile/scripts/form-decompile.ps1 @@ -1,4 +1,4 @@ -# form-decompile v0.127 — Decompile 1C managed Form.xml to JSON DSL (draft) +# form-decompile v0.128 — Decompile 1C managed Form.xml to JSON DSL (draft) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills # ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью. param( @@ -1977,6 +1977,9 @@ function Decompile-Element { if ((Get-Child $node 'Hyperlink') -eq 'true') { $obj['hyperlink'] = $true } $vp = Get-PictureRef $node 'ValuesPicture'; if ($null -ne $vp) { $obj['valuesPicture'] = $vp } $npt = $node.SelectSingleNode("lf:NonselectedPictureText", $ns); if ($npt) { $t = Get-LangText $npt; if ($null -ne $t) { $obj['nonselectedPictureText'] = $t } } + # FooterDataPath / FooterText — общие cell-свойства колонки (как у input/labelField) + $fdp = Get-Child $node 'FooterDataPath'; if ($fdp) { $obj['footerDataPath'] = $fdp } + $ftxt = $node.SelectSingleNode("lf:FooterText", $ns); if ($ftxt) { $t = Get-LangText $ftxt; if ($null -ne $t) { $obj['footerText'] = $t } } } 'CalendarField' { $obj[$key] = $name