mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-25 06:01:02 +03:00
feat(form-decompile,form-compile): MobileDeviceCommandBarContent (состав моб-панели)
Форменное свойство <MobileDeviceCommandBarContent> = список имён командных панелей/кнопок для командной панели мобильного устройства. DSL: mobileCommandBarContent: ["Имя1", "Имя2", …] (массив строк). Константы подтверждены по корпусу (161 файл): Presentation пустой, CheckState=0, Value xsi:type=xs:string всегда — варьируется только имя-Value. Компилятор ставит константы, эмитит перед AutoCommandBar; декомпилятор собирает список имён. Зеркало py (байт-в-байт). Форма BusinessProcesses/Задание/ФормаСписка → round-trip match. Кейс commands сертифицирован в 1С. Регресс 39/39 ps1+py. 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
ea43522b5a
commit
8915e99ac8
@@ -1,4 +1,4 @@
|
||||
# form-decompile v0.57 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# form-decompile v0.58 — Decompile 1C managed Form.xml to JSON DSL (draft)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
# ВНИМАНИЕ: раундтрип не гарантируется. Навык исключён из авто-использования моделью.
|
||||
param(
|
||||
@@ -1655,6 +1655,16 @@ foreach ($pn in $KNOWN_FORM_PROPS) {
|
||||
if ($dsl.Contains('title') -and $props.Contains('autoTitle') -and $props['autoTitle'] -eq $false) { $props.Remove('autoTitle') }
|
||||
if ($props.Count -gt 0) { $dsl['properties'] = $props }
|
||||
|
||||
# MobileDeviceCommandBarContent (form-level) → список имён командных панелей/кнопок
|
||||
$mdcb = $root.SelectSingleNode("lf:MobileDeviceCommandBarContent", $ns)
|
||||
if ($mdcb) {
|
||||
$names = New-Object System.Collections.ArrayList
|
||||
foreach ($it in @($mdcb.SelectNodes("xr:Item", $ns))) {
|
||||
$v = $it.SelectSingleNode("xr:Value", $ns); if ($v) { [void]$names.Add($v.InnerText) }
|
||||
}
|
||||
if ($names.Count -gt 0) { $dsl['mobileCommandBarContent'] = @($names) }
|
||||
}
|
||||
|
||||
# excludedCommands (form-level <CommandSet>)
|
||||
$csForm = $root.SelectSingleNode("lf:CommandSet", $ns)
|
||||
if ($csForm) {
|
||||
|
||||
Reference in New Issue
Block a user