diff --git a/.claude/skills/form-add/scripts/form-add.ps1 b/.claude/skills/form-add/scripts/form-add.ps1
index 53a0527c..ad6ee781 100644
--- a/.claude/skills/form-add/scripts/form-add.ps1
+++ b/.claude/skills/form-add/scripts/form-add.ps1
@@ -254,8 +254,8 @@ function Emit-Companion {
function Emit-CommonFlags {
param($el, [string]$indent)
- if ($el.hidden -eq $true) { X "$indentfalse" }
- if ($el.disabled -eq $true) { X "$indentfalse" }
+ if ($el.visible -eq $false -or $el.hidden -eq $true) { X "$indentfalse" }
+ if ($el.enabled -eq $false -or $el.disabled -eq $true) { X "$indentfalse" }
if ($el.readOnly -eq $true) { X "$indenttrue" }
}
diff --git a/.claude/skills/form-compile/SKILL.md b/.claude/skills/form-compile/SKILL.md
index 90b9b59c..6791f941 100644
--- a/.claude/skills/form-compile/SKILL.md
+++ b/.claude/skills/form-compile/SKILL.md
@@ -58,8 +58,8 @@ powershell.exe -NoProfile -File .claude\skills\form-compile\scripts\form-compile
- `"name"` — переопределить имя (по умолчанию из значения ключа типа)
- `"path"` — DataPath (привязка к данным)
- `"title"` — заголовок
-- `"hidden": true` — Visible=false
-- `"disabled": true` — Enabled=false
+- `"visible": false` — Visible=false (скрыть элемент)
+- `"enabled": false` — Enabled=false (сделать недоступным)
- `"readOnly": true` — ReadOnly=true
- `"on": ["OnChange", "StartChoice"]` — события с автоименованием обработчиков
diff --git a/.claude/skills/form-compile/scripts/form-compile.ps1 b/.claude/skills/form-compile/scripts/form-compile.ps1
index bb5bb426..d7bc8f13 100644
--- a/.claude/skills/form-compile/scripts/form-compile.ps1
+++ b/.claude/skills/form-compile/scripts/form-compile.ps1
@@ -295,8 +295,8 @@ function Emit-Element {
function Emit-CommonFlags {
param($el, [string]$indent)
- if ($el.hidden -eq $true) { X "$indentfalse" }
- if ($el.disabled -eq $true) { X "$indentfalse" }
+ if ($el.visible -eq $false -or $el.hidden -eq $true) { X "$indentfalse" }
+ if ($el.enabled -eq $false -or $el.disabled -eq $true) { X "$indentfalse" }
if ($el.readOnly -eq $true) { X "$indenttrue" }
}
diff --git a/.claude/skills/form-info/SKILL.md b/.claude/skills/form-info/SKILL.md
index eed56b7e..8f61e1f5 100644
--- a/.claude/skills/form-info/SKILL.md
+++ b/.claude/skills/form-info/SKILL.md
@@ -71,7 +71,7 @@ Events:
Elements:
├─ [Group:AH] ГруппаШапка
│ ├─ [Input] Организация -> Объект.Организация {OnChange}
- │ └─ [Input] Договор -> Объект.Договор [hidden] {StartChoice}
+ │ └─ [Input] Договор -> Объект.Договор [visible:false] {StartChoice}
├─ [Table] Товары -> Объект.Товары
│ ├─ [Input] Номенклатура -> Объект.Товары.Номенклатура {OnChange}
│ └─ [Input] Сумма -> Объект.Товары.Сумма [ro]
@@ -105,8 +105,8 @@ Elements:
| `[BtnGroup]` | ButtonGroup |
**Флаги** (только при отклонении от умолчания):
-- `[hidden]` — Visible=false
-- `[disabled]` — Enabled=false
+- `[visible:false]` — элемент скрыт (Visible=false)
+- `[enabled:false]` — элемент недоступен (Enabled=false)
- `[ro]` — ReadOnly=true
- `,collapse` — Behavior=Collapsible (для групп)
diff --git a/.claude/skills/form-info/scripts/form-info.ps1 b/.claude/skills/form-info/scripts/form-info.ps1
index 459a51f9..12f84674 100644
--- a/.claude/skills/form-info/scripts/form-info.ps1
+++ b/.claude/skills/form-info/scripts/form-info.ps1
@@ -149,9 +149,9 @@ function Get-EventsStr($node) {
function Get-Flags($node) {
$flags = @()
$vis = $node.SelectSingleNode("d:Visible", $ns)
- if ($vis -and $vis.InnerText -eq "false") { $flags += "hidden" }
+ if ($vis -and $vis.InnerText -eq "false") { $flags += "visible:false" }
$en = $node.SelectSingleNode("d:Enabled", $ns)
- if ($en -and $en.InnerText -eq "false") { $flags += "disabled" }
+ if ($en -and $en.InnerText -eq "false") { $flags += "enabled:false" }
$ro = $node.SelectSingleNode("d:ReadOnly", $ns)
if ($ro -and $ro.InnerText -eq "true") { $flags += "ro" }
if ($flags.Count -eq 0) { return "" }
diff --git a/docs/form-guide.md b/docs/form-guide.md
index 46d02958..34f4ed38 100644
--- a/docs/form-guide.md
+++ b/docs/form-guide.md
@@ -122,8 +122,8 @@ Claude сделает grep по Form.xml и найдёт полный XML-бло
### Флаги
Показываются только при отклонении от умолчания:
-- `[hidden]` — элемент скрыт (Visible=false)
-- `[disabled]` — элемент недоступен (Enabled=false)
+- `[visible:false]` — элемент скрыт (Visible=false)
+- `[enabled:false]` — элемент недоступен (Enabled=false)
- `[ro]` — только чтение (ReadOnly=true)
- `,collapse` — сворачиваемая группа (Behavior=Collapsible)