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