mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-19 16:35:52 +03:00
feat(form-decompile,form-compile): CommandSet/excludedCommands таблиц (кластер F)
CommandSet встречается на Table (23) и Form (8). Форменный excludedCommands уже поддержан, табличный — нет. - compiler PS1+PY: Emit-Table — excludedCommands → <CommandSet>; заодно viewStatusLocation/searchControlLocation (из того же блока свойств таблицы). - decompiler: Table — CommandSet→excludedCommands, searchStringLocation (раньше не ловился), viewStatusLocation/searchControlLocation. - docs/form-dsl-spec: excludedCommands + view/searchControl у таблицы. - tests: table расширен, сертифицирован в 1С. ExcludedCommand ушёл из топа LOST. Регресс 32/32 PS1+PY, churn нулевой. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
0941fc717d
commit
9c1ea1662a
@@ -1,4 +1,4 @@
|
||||
# form-decompile v0.6 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# form-decompile v0.7 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
|
||||
param(
|
||||
@@ -450,6 +450,15 @@ function Decompile-Element {
|
||||
if ((Get-Child $node 'Footer') -eq 'true') { $obj['footer'] = $true }
|
||||
$htr = Get-Child $node 'HeightInTableRows'; if ($htr) { $obj['height'] = [int]$htr }
|
||||
$cbl = Get-Child $node 'CommandBarLocation'; if ($cbl) { $obj['commandBarLocation'] = $cbl }
|
||||
$ssl = Get-Child $node 'SearchStringLocation'; if ($ssl) { $obj['searchStringLocation'] = $ssl }
|
||||
$vsl = Get-Child $node 'ViewStatusLocation'; if ($vsl) { $obj['viewStatusLocation'] = $vsl }
|
||||
$scl = Get-Child $node 'SearchControlLocation'; if ($scl) { $obj['searchControlLocation'] = $scl }
|
||||
$csNode = $node.SelectSingleNode("lf:CommandSet", $ns)
|
||||
if ($csNode) {
|
||||
$exc = New-Object System.Collections.ArrayList
|
||||
foreach ($ec in @($csNode.SelectNodes("lf:ExcludedCommand", $ns))) { [void]$exc.Add($ec.InnerText) }
|
||||
if ($exc.Count -gt 0) { $obj['excludedCommands'] = @($exc) }
|
||||
}
|
||||
$cols = Decompile-Children $node
|
||||
if ($cols) { $obj['columns'] = $cols }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user