diff --git a/.claude/skills/cf-edit/SKILL.md b/.claude/skills/cf-edit/SKILL.md index fd4f1141..8c4901cb 100644 --- a/.claude/skills/cf-edit/SKILL.md +++ b/.claude/skills/cf-edit/SKILL.md @@ -1,6 +1,6 @@ --- name: cf-edit -description: Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из состава, настроить роли по умолчанию, поменять раскладку панелей +description: Точечное редактирование конфигурации 1С. Используй когда нужно изменить свойства конфигурации, добавить или удалить объект из состава, настроить роли по умолчанию, поменять раскладку панелей, настроить начальную страницу argument-hint: -ConfigPath -Operation -Value allowed-tools: - Bash @@ -38,6 +38,7 @@ powershell.exe -NoProfile -File .claude/skills/cf-edit/scripts/cf-edit.ps1 -Conf | `remove-defaultRole` | `Role.Name` или `Name` | Удалить роль по умолчанию | | `set-defaultRoles` | Имена через `;;` | Заменить список ролей по умолчанию | | `set-panels` | JSON-объект (см. [reference.md](reference.md)) | Перезаписать `Ext/ClientApplicationInterface.xml` (раскладка панелей) | +| `set-home-page` | JSON-объект (см. [reference.md](reference.md)) | Перезаписать `Ext/HomePageWorkArea.xml` (начальная страница) | Допустимые значения свойств, формат DefinitionFile (JSON), каноничный порядок: [reference.md](reference.md) @@ -45,15 +46,15 @@ powershell.exe -NoProfile -File .claude/skills/cf-edit/scripts/cf-edit.ps1 -Conf ```powershell # Изменить версию и поставщика -... -ConfigPath test-tmp/cf -Operation modify-property -Value "Version=1.0.0.1 ;; Vendor=Фирма 1С" +... -ConfigPath src -Operation modify-property -Value "Version=1.0.0.1 ;; Vendor=Фирма 1С" # Добавить объекты -... -ConfigPath test-tmp/cf -Operation add-childObject -Value "Catalog.Товары ;; Document.Заказ" +... -ConfigPath src -Operation add-childObject -Value "Catalog.Товары ;; Document.Заказ" # Удалить объект -... -ConfigPath test-tmp/cf -Operation remove-childObject -Value "Catalog.Устаревший" +... -ConfigPath src -Operation remove-childObject -Value "Catalog.Устаревший" # Роли по умолчанию -... -ConfigPath test-tmp/cf -Operation add-defaultRole -Value "ПолныеПрава" -... -ConfigPath test-tmp/cf -Operation set-defaultRoles -Value "ПолныеПрава ;; Администратор" +... -ConfigPath src -Operation add-defaultRole -Value "ПолныеПрава" +... -ConfigPath src -Operation set-defaultRoles -Value "ПолныеПрава ;; Администратор" ``` diff --git a/.claude/skills/cf-edit/reference.md b/.claude/skills/cf-edit/reference.md index f394237f..efaa5231 100644 --- a/.claude/skills/cf-edit/reference.md +++ b/.claude/skills/cf-edit/reference.md @@ -35,14 +35,7 @@ Формат: `Type.Name` — XML-тип и имя объекта через точку. -**Важно про `add-childObject`**: операция регистрирует в `` Configuration.xml только объект, **файл которого уже существует на диске** (например `Catalogs/Товары.xml`). Если файла нет — скрипт падает с exit 1 и подсказкой. Для создания нового объекта используй профильный навык — `/meta-compile` (Catalog, Document, Enum, Report, регистры и т.д.), `/role-compile` (Role), `/subsystem-compile` (Subsystem). Они создают файл И регистрируют его в Configuration.xml за один вызов. - -Когда `add-childObject` всё-таки нужен: откатили Configuration.xml (или перезаписали из выгрузки БД), а файлы объектов остались — нужно восстановить ссылки в ``. - -При добавлении объект вставляется в каноническую позицию: -1. Находит последний элемент того же типа → вставляет после -2. Если тип отсутствует → находит последний элемент предшествующего типа → вставляет после -3. Внутри одного типа — алфавитный порядок +**Важно про `add-childObject`**: регистрирует в `` объект, **файл которого уже существует на диске**. Если файла нет — exit 1. Для создания нового объекта используй профильный навык — `/meta-compile` (Catalog, Document, Enum, Report, регистры и т.д.), `/role-compile` (Role), `/subsystem-compile` (Subsystem). Они создают файл И регистрируют его за один вызов. Batch: `"Catalog.Товары ;; Document.Заказ ;; Enum.ВидыОплат"` @@ -91,12 +84,59 @@ Batch: `"Catalog.Товары ;; Document.Заказ ;; Enum.ВидыОплат" ] ``` -**Через `-Value`** (CLI): передавай тот же объект как JSON-строку: -```powershell -... -Operation set-panels -Value '{"top":["open"],"left":["sections"]}' -``` +Через `-Value` (CLI): передай объект как JSON-строку — `... -Operation set-panels -Value '{"top":["open"]}'`. -`` для всех 5 панелей пишется автоматически — они всегда доступны пользователю через «Вид → Настройка панелей», даже если не размещены по умолчанию. +## set-home-page + +Перезаписывает `Ext/HomePageWorkArea.xml` — раскладка форм на начальной странице (рабочая область). Файл создаётся с нуля; то, что не упомянуто в `value`, отсутствует. + +`value` — объект: + +| Ключ | Канонич. (XML) | Описание | +|------|----------------|----------| +| `template` | `WorkingAreaTemplate` | `OneColumn` / `TwoColumnsEqualWidth` (дефолт) / `TwoColumnsVariableWidth` | +| `left` | `LeftColumn` | массив записей форм | +| `right` | `RightColumn` | массив записей форм (запрещён при `OneColumn`) | + +Принимаются и короткие и канонич. ключи (XML-имена) — оба работают. + +**Запись формы** — одна из: +- Строка `"
"` — только имя формы, дефолты `height=10`, `visibility=true` +- Объект `{form, height?, visibility?, roles?}` + +| Поле | Канонич. | Дефолт | Описание | +|------|----------|--------|----------| +| `form` | `Form` | — | `CommonForm.X` или `Type.Object.Form.Name` (или UUID) | +| `height` | `Height` | `10` | Высота | +| `visibility` | `Visibility` | `true` | Общая видимость (``) | +| `roles` | — | — | `{"Role.Имя": true|false, ...}` — переопределения по ролям | + +**Семантика visibility:** `visibility` = общее правило, `roles` — точечные исключения. Скрыть для всех кроме одной роли: `{"visibility": false, "roles": {"Role.Опер": true}}`. + +**Пример:** +```json +[ + { + "operation": "set-home-page", + "value": { + "template": "TwoColumnsVariableWidth", + "left": [ + "CommonForm.НачалоРаботы", + { "form": "CommonForm.СписокЗадач", "height": 100, "visibility": false }, + { "form": "Catalog.Контрагенты.Form.ФормаСписка", "height": 50 }, + { + "form": "CommonForm.РабочийСтолОператора", + "visibility": false, + "roles": { "Role.Оператор": true, "Role.ПолныеПрава": false } + } + ], + "right": [ + { "form": "DataProcessor.Поиск.Form.ФормаПоиска", "height": 30 } + ] + } + } +] +``` ## DefinitionFile (JSON) @@ -108,6 +148,3 @@ Batch: `"Catalog.Товары ;; Document.Заказ ;; Enum.ВидыОплат" ] ``` -## Авто-валидация - -После сохранения автоматически запускается `cf-validate` (если не указан `-NoValidate`). diff --git a/.claude/skills/cf-edit/scripts/cf-edit.ps1 b/.claude/skills/cf-edit/scripts/cf-edit.ps1 index 45faa035..5da5fc4f 100644 --- a/.claude/skills/cf-edit/scripts/cf-edit.ps1 +++ b/.claude/skills/cf-edit/scripts/cf-edit.ps1 @@ -1,9 +1,9 @@ -# cf-edit v1.3 — Edit 1C configuration root (Configuration.xml) +# cf-edit v1.4 — Edit 1C configuration root (Configuration.xml) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)][Alias('Path')][string]$ConfigPath, [string]$DefinitionFile, - [ValidateSet("modify-property","add-childObject","remove-childObject","add-defaultRole","remove-defaultRole","set-defaultRoles","set-panels")] + [ValidateSet("modify-property","add-childObject","remove-childObject","add-defaultRole","remove-defaultRole","set-defaultRoles","set-panels","set-home-page")] [string]$Operation, [string]$Value, [switch]$NoValidate @@ -558,6 +558,194 @@ $bodyBlock$declarations Info "Wrote panel layout: $caiPath" } +# --- Operation: set-home-page --- +# Russian → English type aliases for form-ref normalization +$script:ruTypeMap = @{ + "справочник" = "Catalog" + "документ" = "Document" + "перечисление" = "Enum" + "отчёт" = "Report" + "отчет" = "Report" + "обработка" = "DataProcessor" + "общаяформа" = "CommonForm" + "журналдокументов" = "DocumentJournal" + "планвидовхарактеристик" = "ChartOfCharacteristicTypes" + "плансчетов" = "ChartOfAccounts" + "планвидоврасчета" = "ChartOfCalculationTypes" + "планвидоврасчёта" = "ChartOfCalculationTypes" + "регистрсведений" = "InformationRegister" + "регистрнакопления" = "AccumulationRegister" + "регистрбухгалтерии" = "AccountingRegister" + "регистррасчета" = "CalculationRegister" + "регистррасчёта" = "CalculationRegister" + "бизнеспроцесс" = "BusinessProcess" + "задача" = "Task" + "планобмена" = "ExchangePlan" + "хранилищенастроек" = "SettingsStorage" +} +# plural folder → singular type +$script:dirToType = @{} +foreach ($k in $script:typeToDir.Keys) { $script:dirToType[$script:typeToDir[$k].ToLowerInvariant()] = $k } + +function Normalize-FormRef([string]$s) { + $s = $s.Trim() + if (-not $s) { return $s } + # UUID — leave as-is + if ($s -match '^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$') { return $s } + # Path form? + if ($s.Contains("/") -or $s.Contains("\")) { + $parts = $s.Replace("\","/").Split("/") | Where-Object { $_ -ne "" -and $_.ToLowerInvariant() -ne "ext" } + # Strip trailing Form.xml + if ($parts.Count -gt 0 -and $parts[-1].ToLowerInvariant() -eq "form.xml") { + $parts = @($parts[0..($parts.Count - 2)]) + } + if ($parts.Count -ge 2) { + $typeDir = $parts[0] + $typeSingular = $script:dirToType[$typeDir.ToLowerInvariant()] + if ($typeSingular) { + if ($typeSingular -eq "CommonForm" -and $parts.Count -ge 2) { + return "CommonForm.$($parts[1])" + } + if ($parts.Count -ge 4 -and $parts[2].ToLowerInvariant() -eq "forms") { + return "$typeSingular.$($parts[1]).Form.$($parts[3])" + } + } + } + return $s + } + # Dot form — translate Russian head and 'Форма' segment, auto-insert 'Form' + $segs = $s.Split(".") + if ($segs.Count -ge 1) { + $head = $segs[0].ToLowerInvariant() + if ($script:ruTypeMap.ContainsKey($head)) { $segs[0] = $script:ruTypeMap[$head] } + for ($i = 1; $i -lt $segs.Count; $i++) { + if ($segs[$i] -eq "Форма") { $segs[$i] = "Form" } + } + # Auto-insert Form: for object types with 3 segments (Type.Object.FormName) + if ($segs.Count -eq 3 -and $script:typeOrder -contains $segs[0] -and $segs[0] -ne "CommonForm") { + $segs = @($segs[0], $segs[1], "Form", $segs[2]) + } + } + return ($segs -join ".") +} + +# Accept short DSL or canonical XML keys (silently) +function Get-FieldValue($obj, [string[]]$keys) { + foreach ($k in $keys) { + if ($obj.PSObject.Properties[$k]) { return $obj.PSObject.Properties[$k].Value } + } + return $null +} + +function Build-HomePageItemXml($entry, [string]$indent) { + # Resolve fields + if ($entry -is [string]) { + $formRef = Normalize-FormRef $entry + $height = 10 + $common = $true + $roles = $null + } else { + $formRaw = Get-FieldValue $entry @("form","Form") + if (-not $formRaw) { Write-Error "Home page item: 'form' is required, got: $($entry | ConvertTo-Json -Compress)"; exit 1 } + $formRef = Normalize-FormRef ([string]$formRaw) + $h = Get-FieldValue $entry @("height","Height") + $height = if ($null -ne $h) { [int]$h } else { 10 } + $vis = Get-FieldValue $entry @("visibility","Visibility") + $common = if ($null -ne $vis) { [bool]$vis } else { $true } + $roles = Get-FieldValue $entry @("roles") + } + + $visParts = @() + $visParts += "$indent`t`t$($common.ToString().ToLower())" + if ($roles) { + # roles is PSCustomObject {Role.X: bool, ...} + foreach ($prop in $roles.PSObject.Properties) { + $rname = $prop.Name + if (-not $rname.StartsWith("Role.") -and -not ($rname -match '^[0-9a-fA-F]{8}-')) { $rname = "Role.$rname" } + $rval = ([bool]$prop.Value).ToString().ToLower() + $escName = [System.Security.SecurityElement]::Escape($rname) + $visParts += "$indent`t`t$rval" + } + } + $visBlock = $visParts -join "`r`n" + $escForm = [System.Security.SecurityElement]::Escape($formRef) + return @" +$indent +$indent`t$escForm +$indent`t$height +$indent`t +$visBlock +$indent`t +$indent +"@ +} + +function Do-SetHomePage($valArg) { + $layout = $valArg + if ($layout -is [string]) { + try { $layout = $layout | ConvertFrom-Json } catch { + Write-Error "set-home-page value must be valid JSON object"; exit 1 + } + } + if (-not $layout) { Write-Error "set-home-page value is empty"; exit 1 } + + $allowedTemplates = @("OneColumn","TwoColumnsEqualWidth","TwoColumnsVariableWidth") + $tmpl = Get-FieldValue $layout @("template","WorkingAreaTemplate") + if (-not $tmpl) { $tmpl = "TwoColumnsEqualWidth" } + if ($allowedTemplates -notcontains $tmpl) { + Write-Error "Unknown template '$tmpl'. Allowed: $($allowedTemplates -join ', ')"; exit 1 + } + + $leftItems = Get-FieldValue $layout @("left","LeftColumn") + $rightItems = Get-FieldValue $layout @("right","RightColumn") + + # Reject unknown keys + $known = @("template","WorkingAreaTemplate","left","LeftColumn","right","RightColumn") + foreach ($prop in $layout.PSObject.Properties) { + if ($known -notcontains $prop.Name) { + Write-Error "Unknown key '$($prop.Name)'. Allowed: template, left, right"; exit 1 + } + } + + if ($tmpl -eq "OneColumn" -and $rightItems) { + Write-Error "Template 'OneColumn' cannot have items in 'right' column"; exit 1 + } + + function Build-Column([string]$tag, $items) { + if (-not $items) { return "`t<$tag/>" } + if ($items -isnot [System.Array] -and $items -isnot [System.Collections.IList]) { + $items = @($items) + } + if ($items.Count -eq 0) { return "`t<$tag/>" } + $itemBlocks = @() + foreach ($it in $items) { + $itemBlocks += Build-HomePageItemXml $it "`t`t" + } + $body = $itemBlocks -join "`r`n" + return "`t<$tag>`r`n$body`r`n`t" + } + + $leftXml = Build-Column "LeftColumn" $leftItems + $rightXml = Build-Column "RightColumn" $rightItems + + $hpXml = @" + + + $tmpl +$leftXml +$rightXml + +"@ + + $extDir = Join-Path $script:configDir "Ext" + if (-not (Test-Path $extDir)) { New-Item -ItemType Directory -Path $extDir -Force | Out-Null } + $hpPath = Join-Path $extDir "HomePageWorkArea.xml" + $utf8Bom = New-Object System.Text.UTF8Encoding($true) + [System.IO.File]::WriteAllText($hpPath, $hpXml, $utf8Bom) + $script:modifyCount++ + Info "Wrote home page layout: $hpPath" +} + # --- Operation: set-defaultRoles --- function Do-SetDefaultRoles([string]$batchVal) { $items = Parse-BatchValue $batchVal @@ -634,6 +822,7 @@ foreach ($op in $operations) { "remove-defaultRole" { Do-RemoveDefaultRole $opValueStr } "set-defaultRoles" { Do-SetDefaultRoles $opValueStr } "set-panels" { Do-SetPanels $opValue } + "set-home-page" { Do-SetHomePage $opValue } default { Write-Error "Unknown operation: $opName"; exit 1 } } } diff --git a/.claude/skills/cf-edit/scripts/cf-edit.py b/.claude/skills/cf-edit/scripts/cf-edit.py index ca679bb8..ccd98c92 100644 --- a/.claude/skills/cf-edit/scripts/cf-edit.py +++ b/.claude/skills/cf-edit/scripts/cf-edit.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# cf-edit v1.3 — Edit 1C configuration root (Configuration.xml) +# cf-edit v1.4 — Edit 1C configuration root (Configuration.xml) # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -162,7 +162,7 @@ def main(): parser = argparse.ArgumentParser(description="Edit 1C configuration root (Configuration.xml)", allow_abbrev=False) parser.add_argument("-ConfigPath", "-Path", required=True) parser.add_argument("-DefinitionFile", default=None) - parser.add_argument("-Operation", default=None, choices=["modify-property", "add-childObject", "remove-childObject", "add-defaultRole", "remove-defaultRole", "set-defaultRoles", "set-panels"]) + parser.add_argument("-Operation", default=None, choices=["modify-property", "add-childObject", "remove-childObject", "add-defaultRole", "remove-defaultRole", "set-defaultRoles", "set-panels", "set-home-page"]) parser.add_argument("-Value", default=None) parser.add_argument("-NoValidate", action="store_true") args = parser.parse_args() @@ -593,6 +593,170 @@ def main(): modify_count += 1 info(f"Wrote panel layout: {cai_path}") + # --- set-home-page (writes Ext/HomePageWorkArea.xml from scratch) --- + RU_TYPE_MAP = { + "справочник": "Catalog", "документ": "Document", "перечисление": "Enum", + "отчёт": "Report", "отчет": "Report", "обработка": "DataProcessor", + "общаяформа": "CommonForm", "журналдокументов": "DocumentJournal", + "планвидовхарактеристик": "ChartOfCharacteristicTypes", + "плансчетов": "ChartOfAccounts", + "планвидоврасчета": "ChartOfCalculationTypes", + "планвидоврасчёта": "ChartOfCalculationTypes", + "регистрсведений": "InformationRegister", + "регистрнакопления": "AccumulationRegister", + "регистрбухгалтерии": "AccountingRegister", + "регистррасчета": "CalculationRegister", + "регистррасчёта": "CalculationRegister", + "бизнеспроцесс": "BusinessProcess", + "задача": "Task", "планобмена": "ExchangePlan", + "хранилищенастроек": "SettingsStorage", + } + DIR_TO_TYPE = {v.lower(): k for k, v in TYPE_TO_DIR.items()} + UUID_RE = __import__("re").compile(r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$") + + def normalize_form_ref(s): + s = (s or "").strip() + if not s: + return s + if UUID_RE.match(s): + return s + if "/" in s or "\\" in s: + parts = [p for p in s.replace("\\", "/").split("/") if p and p.lower() != "ext"] + if parts and parts[-1].lower() == "form.xml": + parts = parts[:-1] + if len(parts) >= 2: + type_dir = parts[0] + type_singular = DIR_TO_TYPE.get(type_dir.lower()) + if type_singular: + if type_singular == "CommonForm" and len(parts) >= 2: + return f"CommonForm.{parts[1]}" + if len(parts) >= 4 and parts[2].lower() == "forms": + return f"{type_singular}.{parts[1]}.Form.{parts[3]}" + return s + segs = s.split(".") + if segs: + head = segs[0].lower() + if head in RU_TYPE_MAP: + segs[0] = RU_TYPE_MAP[head] + for i in range(1, len(segs)): + if segs[i] == "Форма": + segs[i] = "Form" + if len(segs) == 3 and segs[0] in TYPE_ORDER and segs[0] != "CommonForm": + segs = [segs[0], segs[1], "Form", segs[2]] + return ".".join(segs) + + def get_field(obj, keys): + for k in keys: + if isinstance(obj, dict) and k in obj: + return obj[k] + return None + + def build_home_page_item_xml(entry, indent): + if isinstance(entry, str): + form_ref = normalize_form_ref(entry) + height = 10 + common = True + roles = None + elif isinstance(entry, dict): + form_raw = get_field(entry, ["form", "Form"]) + if not form_raw: + print(f"Home page item: 'form' is required, got: {entry!r}", file=sys.stderr) + sys.exit(1) + form_ref = normalize_form_ref(str(form_raw)) + h = get_field(entry, ["height", "Height"]) + height = int(h) if h is not None else 10 + vis = get_field(entry, ["visibility", "Visibility"]) + common = bool(vis) if vis is not None else True + roles = get_field(entry, ["roles"]) + else: + print(f"Home page item must be string or object, got: {entry!r}", file=sys.stderr) + sys.exit(1) + + vis_parts = [f"{indent}\t\t{str(common).lower()}"] + if roles and isinstance(roles, dict): + for rname, rval in roles.items(): + if not rname.startswith("Role.") and not UUID_RE.match(rname): + rname = f"Role.{rname}" + rval_s = str(bool(rval)).lower() + vis_parts.append(f'{indent}\t\t{rval_s}') + vis_block = "\r\n".join(vis_parts) + esc_form = html_escape(form_ref, quote=True) + return ( + f"{indent}\r\n" + f"{indent}\t
{esc_form}
\r\n" + f"{indent}\t{height}\r\n" + f"{indent}\t\r\n" + f"{vis_block}\r\n" + f"{indent}\t\r\n" + f"{indent}
" + ) + + def do_set_home_page(value): + nonlocal modify_count + layout = value + if isinstance(layout, str): + try: + layout = json.loads(layout) + except json.JSONDecodeError: + print("set-home-page value must be valid JSON object", file=sys.stderr) + sys.exit(1) + if not isinstance(layout, dict) or not layout: + print("set-home-page value must be non-empty object", file=sys.stderr) + sys.exit(1) + + allowed_templates = ("OneColumn", "TwoColumnsEqualWidth", "TwoColumnsVariableWidth") + tmpl = get_field(layout, ["template", "WorkingAreaTemplate"]) or "TwoColumnsEqualWidth" + if tmpl not in allowed_templates: + print(f"Unknown template '{tmpl}'. Allowed: {', '.join(allowed_templates)}", file=sys.stderr) + sys.exit(1) + + left_items = get_field(layout, ["left", "LeftColumn"]) + right_items = get_field(layout, ["right", "RightColumn"]) + + known = {"template", "WorkingAreaTemplate", "left", "LeftColumn", "right", "RightColumn"} + for k in layout.keys(): + if k not in known: + print(f"Unknown key '{k}'. Allowed: template, left, right", file=sys.stderr) + sys.exit(1) + + if tmpl == "OneColumn" and right_items: + print("Template 'OneColumn' cannot have items in 'right' column", file=sys.stderr) + sys.exit(1) + + def build_column(tag, items): + if not items: + return f"\t<{tag}/>" + if not isinstance(items, list): + items = [items] + if not items: + return f"\t<{tag}/>" + blocks = [build_home_page_item_xml(it, "\t\t") for it in items] + body = "\r\n".join(blocks) + return f"\t<{tag}>\r\n{body}\r\n\t" + + left_xml = build_column("LeftColumn", left_items) + right_xml = build_column("RightColumn", right_items) + + hp_xml = ( + '\r\n' + '\r\n' + f'\t{tmpl}\r\n' + f'{left_xml}\r\n' + f'{right_xml}\r\n' + '' + ) + + ext_dir = os.path.join(config_dir, "Ext") + os.makedirs(ext_dir, exist_ok=True) + hp_path = os.path.join(ext_dir, "HomePageWorkArea.xml") + with open(hp_path, "w", encoding="utf-8-sig", newline="") as fh: + fh.write(hp_xml) + modify_count += 1 + info(f"Wrote home page layout: {hp_path}") + # --- Execute operations --- operations = [] if args.DefinitionFile: @@ -626,6 +790,8 @@ def main(): do_set_default_roles(op_value if isinstance(op_value, str) else str(op_value)) elif op_name == "set-panels": do_set_panels(op_value) + elif op_name == "set-home-page": + do_set_home_page(op_value) else: print(f"Unknown operation: {op_name}", file=sys.stderr) sys.exit(1) diff --git a/.claude/skills/cf-info/SKILL.md b/.claude/skills/cf-info/SKILL.md index eccccecb..1963142d 100644 --- a/.claude/skills/cf-info/SKILL.md +++ b/.claude/skills/cf-info/SKILL.md @@ -1,7 +1,7 @@ --- name: cf-info description: Анализ структуры конфигурации 1С — свойства, состав, счётчики объектов. Используй для обзора конфигурации — какие объекты есть, сколько их, какие настройки -argument-hint: [-Mode overview|brief|full] +argument-hint: [-Mode overview|brief|full] [-Section home-page] allowed-tools: - Bash - Read @@ -18,6 +18,7 @@ allowed-tools: |----------|----------| | `ConfigPath` | Путь к Configuration.xml или каталогу выгрузки | | `Mode` | Режим: `overview` (default), `brief`, `full` | +| `Section` | Drill-down по разделу (alias: `Name`). Сейчас: `home-page` | | `Limit` / `Offset` | Пагинация (по умолчанию 150 строк) | | `OutFile` | Записать результат в файл (UTF-8 BOM) | @@ -37,14 +38,17 @@ powershell.exe -NoProfile -File .claude/skills/cf-info/scripts/cf-info.ps1 -Conf ```powershell # Обзор пустой конфигурации -... -ConfigPath upload/cfempty +... -ConfigPath src # Краткая сводка реальной конфигурации -... -ConfigPath upload/acc_8.3.24 -Mode brief +... -ConfigPath src -Mode brief # Полная информация -... -ConfigPath upload/acc_8.3.24 -Mode full +... -ConfigPath src -Mode full # С пагинацией -... -ConfigPath upload/acc_8.3.24 -Mode full -Limit 50 -Offset 100 +... -ConfigPath src -Mode full -Limit 50 -Offset 100 + +# Drill-down: только начальная страница (раскладка форм с ролями) +... -ConfigPath src -Section home-page ``` diff --git a/.claude/skills/cf-info/scripts/cf-info.ps1 b/.claude/skills/cf-info/scripts/cf-info.ps1 index bd9479c1..d85df9aa 100644 --- a/.claude/skills/cf-info/scripts/cf-info.ps1 +++ b/.claude/skills/cf-info/scripts/cf-info.ps1 @@ -1,9 +1,12 @@ -# cf-info v1.1 — Compact summary of 1C configuration root +# cf-info v1.2 — Compact summary of 1C configuration root # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory=$true)][Alias('Path')][string]$ConfigPath, [ValidateSet("overview","brief","full")] [string]$Mode = "overview", + [Alias('Name')] + [ValidateSet("home-page")] + [string]$Section, [int]$Limit = 150, [int]$Offset = 0, [string]$OutFile @@ -171,6 +174,62 @@ function Format-LayoutSlots($slots) { $script:panelLayout = Get-PanelsLayout +# --- Read home page layout (Ext/HomePageWorkArea.xml) --- +function Get-HomePageLayout { + $configDir = [System.IO.Path]::GetDirectoryName($ConfigPath) + $hpPath = Join-Path (Join-Path $configDir "Ext") "HomePageWorkArea.xml" + if (-not (Test-Path $hpPath)) { return $null } + try { [xml]$hpDoc = Get-Content -Path $hpPath -Encoding UTF8 } catch { return $null } + if (-not $hpDoc.DocumentElement) { return $null } + $hpNs = New-Object System.Xml.XmlNamespaceManager($hpDoc.NameTable) + $hpNs.AddNamespace("hp", "http://v8.1c.ru/8.3/xcf/extrnprops") + $hpNs.AddNamespace("xr", "http://v8.1c.ru/8.3/xcf/readable") + $result = [ordered]@{ template = ""; left = @(); right = @() } + $tmplNode = $hpDoc.DocumentElement.SelectSingleNode("hp:WorkingAreaTemplate", $hpNs) + if ($tmplNode) { $result.template = $tmplNode.InnerText.Trim() } + foreach ($colName in @("LeftColumn","RightColumn")) { + $colNode = $hpDoc.DocumentElement.SelectSingleNode("hp:$colName", $hpNs) + if (-not $colNode) { continue } + $items = @() + foreach ($item in $colNode.SelectNodes("hp:Item", $hpNs)) { + $f = $item.SelectSingleNode("hp:Form", $hpNs) + $h = $item.SelectSingleNode("hp:Height", $hpNs) + $visNode = $item.SelectSingleNode("hp:Visibility", $hpNs) + $common = $true + $roles = @() + if ($visNode) { + $cn = $visNode.SelectSingleNode("xr:Common", $hpNs) + if ($cn) { $common = ($cn.InnerText.Trim() -eq "true") } + foreach ($v in $visNode.SelectNodes("xr:Value", $hpNs)) { + $roles += @{ name = $v.GetAttribute("name"); value = ($v.InnerText.Trim() -eq "true") } + } + } + $items += [ordered]@{ + form = if ($f) { $f.InnerText.Trim() } else { "" } + height = if ($h) { [int]$h.InnerText.Trim() } else { 10 } + common = $common + roles = $roles + } + } + if ($colName -eq "LeftColumn") { $result.left = $items } else { $result.right = $items } + } + return $result +} + +$script:homePage = Get-HomePageLayout + +function Format-HomePageItem($it, [bool]$detailed) { + $badges = @() + $badges += "h=$($it.height)" + if (-not $it.common) { $badges += "скрыта" } + if ($it.roles.Count -gt 0) { + if ($detailed) { $badges += "роли: $($it.roles.Count)" } + else { $badges += "+$($it.roles.Count) ролей" } + } + $tail = if ($badges.Count -gt 0) { " (" + ($badges -join ", ") + ")" } else { "" } + return " $($it.form)$tail" +} + # --- Count objects in ChildObjects --- $objectCounts = [ordered]@{} $totalObjects = 0 @@ -207,7 +266,7 @@ $cfgDbSpaces = Get-PropText "DatabaseTablespacesUseMode" $cfgWindowMode = Get-PropText "MainClientApplicationWindowMode" # --- BRIEF mode --- -if ($Mode -eq "brief") { +if ($Mode -eq "brief" -and -not $Section) { $synPart = if ($cfgSynonym) { " $dash `"$cfgSynonym`"" } else { "" } $verPart = if ($cfgVersion) { " v$cfgVersion" } else { "" } $compatPart = if ($cfgCompat) { " | $cfgCompat" } else { "" } @@ -215,7 +274,7 @@ if ($Mode -eq "brief") { } # --- OVERVIEW mode --- -if ($Mode -eq "overview") { +if ($Mode -eq "overview" -and -not $Section) { $synPart = if ($cfgSynonym) { " $dash `"$cfgSynonym`"" } else { "" } $verPart = if ($cfgVersion) { " v$cfgVersion" } else { "" } Out "=== Конфигурация: ${cfgName}${synPart}${verPart} ===" @@ -251,6 +310,16 @@ if ($Mode -eq "overview") { } } + # Home page layout (brief summary) + if ($script:homePage) { + $ln = $script:homePage.left.Count + $rn = $script:homePage.right.Count + Out "--- Начальная страница ---" + Out " Шаблон: $($script:homePage.template)" + Out " LeftColumn: $ln, RightColumn: $rn (детали: -Section home-page)" + Out "" + } + # Object counts table Out "--- Состав ($totalObjects объектов) ---" Out "" @@ -273,8 +342,34 @@ if ($Mode -eq "overview") { } } +# --- Drill-down: -Section home-page --- +if ($Section -eq "home-page") { + if (-not $script:homePage) { + Out "Файл Ext/HomePageWorkArea.xml не найден" + } else { + Out "=== Начальная страница: $cfgName ===" + Out "" + Out "Шаблон: $($script:homePage.template)" + Out "" + foreach ($side in @(@("LeftColumn","left"), @("RightColumn","right"))) { + $items = $script:homePage[$side[1]] + $lbl = $side[0] + if ($items.Count -eq 0) { Out "${lbl}: —"; Out ""; continue } + Out "${lbl} ($($items.Count)):" + foreach ($it in $items) { + Out (Format-HomePageItem $it $true) + foreach ($r in $it.roles) { + $rval = if ($r.value) { "true" } else { "false" } + Out " $($r.name): $rval" + } + } + Out "" + } + } +} + # --- FULL mode --- -if ($Mode -eq "full") { +if ($Mode -eq "full" -and -not $Section) { $synPart = if ($cfgSynonym) { " $dash `"$cfgSynonym`"" } else { "" } $verPart = if ($cfgVersion) { " v$cfgVersion" } else { "" } Out "=== Конфигурация: ${cfgName}${synPart}${verPart} ===" @@ -362,6 +457,16 @@ if ($Mode -eq "full") { Out "" } + # --- Section: Home page (brief summary) --- + if ($script:homePage) { + $ln = $script:homePage.left.Count + $rn = $script:homePage.right.Count + Out "--- Начальная страница ---" + Out " Шаблон: $($script:homePage.template)" + Out " LeftColumn: $ln, RightColumn: $rn (детали: -Section home-page)" + Out "" + } + # --- Section: Storages & default forms --- Out "--- Хранилища и формы по умолчанию ---" $storageProps = @("CommonSettingsStorage","ReportsUserSettingsStorage","ReportsVariantsStorage","FormDataSettingsStorage","DynamicListsUserSettingsStorage","URLExternalDataStorage") diff --git a/.claude/skills/cf-info/scripts/cf-info.py b/.claude/skills/cf-info/scripts/cf-info.py index 64e87381..bd781e4d 100644 --- a/.claude/skills/cf-info/scripts/cf-info.py +++ b/.claude/skills/cf-info/scripts/cf-info.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# cf-info v1.1 — Compact summary of 1C configuration root +# cf-info v1.2 — Compact summary of 1C configuration root # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -15,6 +15,7 @@ sys.stderr.reconfigure(encoding="utf-8") parser = argparse.ArgumentParser(description="Analyze 1C configuration structure", allow_abbrev=False) parser.add_argument("-ConfigPath", "-Path", required=True, help="Path to Configuration.xml or directory") parser.add_argument("-Mode", choices=["overview", "brief", "full"], default="overview", help="Output mode") +parser.add_argument("-Section", "-Name", choices=["home-page"], default=None, help="Drill-down section (alias: -Name)") parser.add_argument("-Limit", type=int, default=150, help="Max lines to show") parser.add_argument("-Offset", type=int, default=0, help="Lines to skip") parser.add_argument("-OutFile", default="", help="Write output to file") @@ -172,6 +173,61 @@ def format_layout_slots(slots): panel_layout = get_panels_layout() +# --- Read home page layout (Ext/HomePageWorkArea.xml) --- +HP_NS = "http://v8.1c.ru/8.3/xcf/extrnprops" +XR_NS_HP = "http://v8.1c.ru/8.3/xcf/readable" + +def get_home_page_layout(): + cfg_dir = os.path.dirname(config_path) + hp_path = os.path.join(cfg_dir, "Ext", "HomePageWorkArea.xml") + if not os.path.isfile(hp_path): + return None + try: + hp_tree = etree.parse(hp_path) + except Exception: + return None + hp_root = hp_tree.getroot() + result = {"template": "", "left": [], "right": []} + tn = hp_root.find(f"{{{HP_NS}}}WorkingAreaTemplate") + if tn is not None and tn.text: + result["template"] = tn.text.strip() + for col_name, key in (("LeftColumn", "left"), ("RightColumn", "right")): + col = hp_root.find(f"{{{HP_NS}}}{col_name}") + if col is None: + continue + items = [] + for it in col.findall(f"{{{HP_NS}}}Item"): + f = it.find(f"{{{HP_NS}}}Form") + h = it.find(f"{{{HP_NS}}}Height") + vis = it.find(f"{{{HP_NS}}}Visibility") + common = True + roles = [] + if vis is not None: + cn = vis.find(f"{{{XR_NS_HP}}}Common") + if cn is not None and cn.text: + common = cn.text.strip() == "true" + for v in vis.findall(f"{{{XR_NS_HP}}}Value"): + roles.append({"name": v.get("name", ""), "value": (v.text or "").strip() == "true"}) + items.append({ + "form": (f.text or "").strip() if f is not None else "", + "height": int((h.text or "10").strip()) if h is not None else 10, + "common": common, + "roles": roles, + }) + result[key] = items + return result + +home_page = get_home_page_layout() + +def format_home_page_item(it, detailed): + badges = [f"h={it['height']}"] + if not it["common"]: + badges.append("скрыта") + if it["roles"]: + badges.append(f"роли: {len(it['roles'])}" if detailed else f"+{len(it['roles'])} ролей") + tail = f" ({', '.join(badges)})" if badges else "" + return f" {it['form']}{tail}" + # --- Count objects in ChildObjects --- object_counts = OrderedDict() total_objects = 0 @@ -206,14 +262,14 @@ cfg_db_spaces = get_prop_text("DatabaseTablespacesUseMode") cfg_window_mode = get_prop_text("MainClientApplicationWindowMode") # --- BRIEF mode --- -if args.Mode == "brief": +if args.Mode == "brief" and not args.Section: syn_part = f' {dash} "{cfg_synonym}"' if cfg_synonym else "" ver_part = f" v{cfg_version}" if cfg_version else "" compat_part = f" | {cfg_compat}" if cfg_compat else "" out(f"Конфигурация: {cfg_name}{syn_part}{ver_part} | {total_objects} объектов{compat_part}") # --- OVERVIEW mode --- -if args.Mode == "overview": +if args.Mode == "overview" and not args.Section: syn_part = f' {dash} "{cfg_synonym}"' if cfg_synonym else "" ver_part = f" v{cfg_version}" if cfg_version else "" out(f"=== Конфигурация: {cfg_name}{syn_part}{ver_part} ===") @@ -241,6 +297,13 @@ if args.Mode == "overview": out(f" {s.ljust(7)} {format_layout_slots(panel_layout[s])}") out() + # Home page (brief summary) + if home_page: + out("--- Начальная страница ---") + out(f" Шаблон: {home_page['template']}") + out(f" LeftColumn: {len(home_page['left'])}, RightColumn: {len(home_page['right'])} (детали: -Section home-page)") + out() + # Object counts table out(f"--- Состав ({total_objects} объектов) ---") out() @@ -261,7 +324,30 @@ if args.Mode == "overview": out(f" {padded} {count}") # --- FULL mode --- -if args.Mode == "full": +# --- Drill-down: -Section home-page --- +if args.Section == "home-page": + if not home_page: + out("Файл Ext/HomePageWorkArea.xml не найден") + else: + out(f"=== Начальная страница: {cfg_name} ===") + out() + out(f"Шаблон: {home_page['template']}") + out() + for col_lbl, col_key in (("LeftColumn", "left"), ("RightColumn", "right")): + items = home_page[col_key] + if not items: + out(f"{col_lbl}: —") + out() + continue + out(f"{col_lbl} ({len(items)}):") + for it in items: + out(format_home_page_item(it, True)) + for r in it["roles"]: + rval = "true" if r["value"] else "false" + out(f" {r['name']}: {rval}") + out() + +if args.Mode == "full" and not args.Section: syn_part = f' {dash} "{cfg_synonym}"' if cfg_synonym else "" ver_part = f" v{cfg_version}" if cfg_version else "" out(f"=== Конфигурация: {cfg_name}{syn_part}{ver_part} ===") @@ -350,6 +436,13 @@ if args.Mode == "full": out(f" объявлено: {', '.join(panel_layout['declared'])}") out() + # --- Section: Home page (brief summary) --- + if home_page: + out("--- Начальная страница ---") + out(f" Шаблон: {home_page['template']}") + out(f" LeftColumn: {len(home_page['left'])}, RightColumn: {len(home_page['right'])} (детали: -Section home-page)") + out() + # --- Section: Storages & default forms --- out("--- Хранилища и формы по умолчанию ---") storage_props = [ diff --git a/.claude/skills/cf-validate/scripts/cf-validate.ps1 b/.claude/skills/cf-validate/scripts/cf-validate.ps1 index 06d2bcb0..f7c071a4 100644 --- a/.claude/skills/cf-validate/scripts/cf-validate.ps1 +++ b/.claude/skills/cf-validate/scripts/cf-validate.ps1 @@ -1,4 +1,4 @@ -# cf-validate v1.2 — Validate 1C configuration root structure +# cf-validate v1.3 — Validate 1C configuration root structure # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory)] @@ -536,6 +536,72 @@ if ($childObjNode) { } } +# --- Check 9: Form references (HomePageWorkArea + Properties) --- +function Test-FormRef([string]$ref) { + if (-not $ref) { return $true } + # UUID — cannot verify without scanning all forms; skip + if ($ref -match $guidPattern) { return $true } + $parts = $ref.Split(".") + if ($parts.Count -eq 2 -and $parts[0] -eq "CommonForm") { + $p = Join-Path (Join-Path (Join-Path $configDir "CommonForms") $parts[1]) "Form.xml" + $pExt = Join-Path (Join-Path (Join-Path (Join-Path $configDir "CommonForms") $parts[1]) "Ext") "Form.xml" + return (Test-Path $p) -or (Test-Path $pExt) + } + if ($parts.Count -eq 4 -and $parts[2] -eq "Form" -and $childTypeDirMap.ContainsKey($parts[0])) { + $dir = $childTypeDirMap[$parts[0]] + $p = Join-Path (Join-Path (Join-Path (Join-Path (Join-Path $configDir $dir) $parts[1]) "Forms") $parts[3]) "Form.xml" + $pExt = Join-Path (Join-Path (Join-Path (Join-Path (Join-Path (Join-Path $configDir $dir) $parts[1]) "Forms") $parts[3]) "Ext") "Form.xml" + return (Test-Path $p) -or (Test-Path $pExt) + } + return $false +} + +$formRefsChecked = 0 +$formRefErrors = @() + +# HomePageWorkArea +$hpPath = Join-Path (Join-Path $configDir "Ext") "HomePageWorkArea.xml" +if (Test-Path $hpPath) { + try { + [xml]$hpDoc = Get-Content -Path $hpPath -Encoding UTF8 + $hpNs = New-Object System.Xml.XmlNamespaceManager($hpDoc.NameTable) + $hpNs.AddNamespace("hp", "http://v8.1c.ru/8.3/xcf/extrnprops") + foreach ($f in $hpDoc.DocumentElement.SelectNodes("//hp:Item/hp:Form", $hpNs)) { + $ref = $f.InnerText.Trim() + if (-not $ref) { continue } + $formRefsChecked++ + if (-not (Test-FormRef $ref)) { + $formRefErrors += "HomePageWorkArea.Form '$ref' — file not found" + } + } + } catch { + $formRefErrors += "HomePageWorkArea.xml: parse error — $($_.Exception.Message)" + } +} + +# Properties: DefaultXxxForm refs +if ($propsNode) { + $formProps = @("DefaultReportForm","DefaultReportVariantForm","DefaultReportSettingsForm","DefaultDynamicListSettingsForm","DefaultSearchForm","DefaultDataHistoryChangeHistoryForm","DefaultDataHistoryVersionDataForm","DefaultDataHistoryVersionDifferencesForm","DefaultCollaborationSystemUsersChoiceForm","DefaultConstantsForm") + foreach ($pn in $formProps) { + $node = $propsNode.SelectSingleNode("md:$pn", $ns) + if ($node -and $node.InnerText.Trim()) { + $ref = $node.InnerText.Trim() + $formRefsChecked++ + if (-not (Test-FormRef $ref)) { + $formRefErrors += "Properties.$pn '$ref' — form not found" + } + } + } +} + +if ($formRefsChecked -eq 0) { + Report-OK "9. Form references: none to check" +} elseif ($formRefErrors.Count -eq 0) { + Report-OK "9. Form references: $formRefsChecked verified" +} else { + foreach ($err in $formRefErrors) { Report-Error "9. $err" } +} + # --- Final output --- & $finalize diff --git a/.claude/skills/cf-validate/scripts/cf-validate.py b/.claude/skills/cf-validate/scripts/cf-validate.py index 30a901cd..df1426d9 100644 --- a/.claude/skills/cf-validate/scripts/cf-validate.py +++ b/.claude/skills/cf-validate/scripts/cf-validate.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# cf-validate v1.2 — Validate 1C configuration XML structure +# cf-validate v1.3 — Validate 1C configuration XML structure # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills """Validates Configuration.xml: root structure, InternalInfo, properties, ChildObjects, languages.""" import sys, os, argparse, re @@ -537,6 +537,60 @@ def main(): else: pass # no ChildObjects + # --- Check 9: Form references (HomePageWorkArea + Properties) --- + def test_form_ref(ref): + if not ref: + return True + if GUID_PATTERN.match(ref): + return True + parts = ref.split('.') + if len(parts) == 2 and parts[0] == 'CommonForm': + p = os.path.join(config_dir, 'CommonForms', parts[1], 'Form.xml') + p_ext = os.path.join(config_dir, 'CommonForms', parts[1], 'Ext', 'Form.xml') + return os.path.isfile(p) or os.path.isfile(p_ext) + if len(parts) == 4 and parts[2] == 'Form' and parts[0] in CHILD_TYPE_DIR_MAP: + d = CHILD_TYPE_DIR_MAP[parts[0]] + p = os.path.join(config_dir, d, parts[1], 'Forms', parts[3], 'Form.xml') + p_ext = os.path.join(config_dir, d, parts[1], 'Forms', parts[3], 'Ext', 'Form.xml') + return os.path.isfile(p) or os.path.isfile(p_ext) + return False + + form_refs_checked = 0 + form_ref_errors = [] + + hp_path = os.path.join(config_dir, 'Ext', 'HomePageWorkArea.xml') + if os.path.isfile(hp_path): + try: + hp_tree = etree.parse(hp_path) + HP_NS = 'http://v8.1c.ru/8.3/xcf/extrnprops' + for f in hp_tree.getroot().iter(f'{{{HP_NS}}}Form'): + ref = (f.text or '').strip() + if not ref: + continue + form_refs_checked += 1 + if not test_form_ref(ref): + form_ref_errors.append(f"HomePageWorkArea.Form '{ref}' — file not found") + except Exception as e: + form_ref_errors.append(f'HomePageWorkArea.xml: parse error — {e}') + + if props_node is not None: + form_props = ['DefaultReportForm','DefaultReportVariantForm','DefaultReportSettingsForm','DefaultDynamicListSettingsForm','DefaultSearchForm','DefaultDataHistoryChangeHistoryForm','DefaultDataHistoryVersionDataForm','DefaultDataHistoryVersionDifferencesForm','DefaultCollaborationSystemUsersChoiceForm','DefaultConstantsForm'] + for pn in form_props: + node = props_node.find(f'md:{pn}', NS) + if node is not None and node.text and node.text.strip(): + ref = node.text.strip() + form_refs_checked += 1 + if not test_form_ref(ref): + form_ref_errors.append(f"Properties.{pn} '{ref}' — form not found") + + if form_refs_checked == 0: + r.ok('9. Form references: none to check') + elif not form_ref_errors: + r.ok(f'9. Form references: {form_refs_checked} verified') + else: + for err in form_ref_errors: + r.error(f'9. {err}') + # --- Final output --- r.finalize(out_file) sys.exit(1 if r.errors > 0 else 0) diff --git a/.claude/skills/form-compile/SKILL.md b/.claude/skills/form-compile/SKILL.md index 2015a947..79a4a3b0 100644 --- a/.claude/skills/form-compile/SKILL.md +++ b/.claude/skills/form-compile/SKILL.md @@ -74,6 +74,7 @@ powershell.exe -NoProfile -File .claude/skills/form-compile/scripts/form-compile | `"picField"` | PictureField | имя | | `"calendar"` | CalendarField | имя | | `"cmdBar"` | CommandBar | имя | +| `"autoCmdBar"` | AutoCommandBar формы | имя — наполняет главную АКП формы (id=-1), не попадает в `` | | `"popup"` | Popup | имя | ### Общие свойства (все типы элементов) @@ -202,11 +203,30 @@ powershell.exe -NoProfile -File .claude/skills/form-compile/scripts/form-compile ### Командная панель (cmdBar) +Дополнительная пользовательская панель команд, размещается как обычный элемент в layout формы. + | Ключ | Описание | |------|----------| | `autofill: true` | Автозаполнение стандартными командами | | `children: [...]` | Кнопки панели | +### Главная автокомандная панель формы (autoCmdBar) + +Наполняет встроенную AutoCommandBar формы (id=-1) кастомными кнопками. Указывать только если нужно добавить свои кнопки на главную панель или явно управлять автозаполнением. + +| Ключ | Описание | +|------|----------| +| `autofill: true/false` | Автозаполнение стандартными командами | +| `horizontalAlign` | `"Left"` / `"Center"` / `"Right"` | +| `children: [...]` | Кнопки/popup | + +```json +{ "autoCmdBar": "ФормаКоманднаяПанель", "autofill": true, "children": [ + { "button": "ИзменитьВыделенные", "command": "ИзменитьВыделенные", + "locationInCommandBar": "InAdditionalSubmenu" } +]} +``` + ### Выпадающее меню (popup) | Ключ | Описание | @@ -239,6 +259,7 @@ powershell.exe -NoProfile -File .claude/skills/form-compile/scripts/form-compile ``` - `savedData: true` — сохраняемые данные +- `main: true` — главный реквизит формы (например, основной `*Object.*`, `DynamicList`, `*RecordSet.*`) ### Команды (commands) diff --git a/.claude/skills/form-compile/scripts/form-compile.ps1 b/.claude/skills/form-compile/scripts/form-compile.ps1 index 266ea320..483a1bcf 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.6 — Compile 1C managed form from JSON or object metadata +# form-compile v1.9 — Compile 1C managed form from JSON or object metadata # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [string]$JsonPath, @@ -1554,7 +1554,7 @@ $script:formTypeSynonyms["определяемыйтип"] = "Define # Known invalid types (runtime/UI types that don't exist in XDTO schema) $script:knownInvalidTypes = @{ - "FormDataStructure" = "Runtime type. Use cfg:*Object.XXX (e.g. CatalogObject.XXX)" + "FormDataStructure" = "Runtime type. Use object type without cfg: prefix (e.g. CatalogObject.Контрагенты, DocumentObject.Приход)" "FormDataCollection" = "Runtime type. Use ValueTable" "FormDataTree" = "Runtime type. Use ValueTree" "FormDataTreeItem" = "Runtime type, not valid in XML" @@ -1569,6 +1569,8 @@ $script:knownInvalidTypes = @{ function Resolve-TypeStr { param([string]$typeStr) if (-not $typeStr) { return $typeStr } + # Lenient: strip leading cfg: prefix if user passed it (canonical form is without prefix) + if ($typeStr -match '^cfg:(.+)$') { $typeStr = $Matches[1] } if ($typeStr -match '^([^(]+)\((.+)\)$') { $base = $Matches[1].Trim(); $params = $Matches[2] $r = $script:formTypeSynonyms[$base.ToLower()] @@ -1821,6 +1823,17 @@ function Emit-Companion { function Emit-Element { param($el, [string]$indent) + # Silent synonyms: commandBar -> cmdBar, autoCommandBar -> autoCmdBar + # (autoCmdBar inside def.elements is normally extracted in pre-pass; this is a safety net for nested cases) + $synonyms = @{ "commandBar" = "cmdBar"; "autoCommandBar" = "autoCmdBar" } + foreach ($pair in $synonyms.GetEnumerator()) { + if ($null -ne $el.PSObject.Properties[$pair.Key] -and $null -eq $el.PSObject.Properties[$pair.Value]) { + $val = $el.($pair.Key) + $el.PSObject.Properties.Remove($pair.Key) | Out-Null + $el | Add-Member -NotePropertyName $pair.Value -NotePropertyValue $val -Force + } + } + # Determine element type from key $typeKey = $null $xmlTag = $null @@ -2601,6 +2614,163 @@ function Emit-Properties { } } +# --- 11b. Pre-pass: synonyms, main attribute inference, heuristics, autoCmdBar extraction --- + +function Normalize-ElementSynonyms { + param($el) + if ($null -eq $el) { return } + $synonyms = @{ "commandBar" = "cmdBar"; "autoCommandBar" = "autoCmdBar" } + foreach ($pair in $synonyms.GetEnumerator()) { + if ($null -ne $el.PSObject.Properties[$pair.Key] -and $null -eq $el.PSObject.Properties[$pair.Value]) { + $val = $el.($pair.Key) + $el.PSObject.Properties.Remove($pair.Key) | Out-Null + $el | Add-Member -NotePropertyName $pair.Value -NotePropertyValue $val -Force + } + } + if ($el.PSObject.Properties["children"] -and $el.children) { + foreach ($child in $el.children) { Normalize-ElementSynonyms $child } + } + if ($el.PSObject.Properties["columns"] -and $el.columns) { + foreach ($child in $el.columns) { Normalize-ElementSynonyms $child } + } +} + +function HasCmdBarRecursive { + param($el) + if ($null -eq $el) { return $false } + if ($el.PSObject.Properties["cmdBar"] -and $null -ne $el.cmdBar) { return $true } + if ($el.PSObject.Properties["children"] -and $el.children) { + foreach ($child in $el.children) { if (HasCmdBarRecursive $child) { return $true } } + } + if ($el.PSObject.Properties["columns"] -and $el.columns) { + foreach ($child in $el.columns) { if (HasCmdBarRecursive $child) { return $true } } + } + return $false +} + +function ApplyDynamicListTableHeuristic { + param($el, [string]$listName) + if ($null -eq $el) { return } + if ($el.PSObject.Properties["table"] -and $null -ne $el.table -and "$($el.path)" -eq $listName) { + if ($null -eq $el.PSObject.Properties["tableAutofill"]) { + $el | Add-Member -NotePropertyName "tableAutofill" -NotePropertyValue $false -Force + } + if ($null -eq $el.PSObject.Properties["commandBarLocation"]) { + $el | Add-Member -NotePropertyName "commandBarLocation" -NotePropertyValue "None" -Force + } + } + if ($el.PSObject.Properties["children"] -and $el.children) { + foreach ($child in $el.children) { ApplyDynamicListTableHeuristic $child $listName } + } +} + +function Test-IsObjectLikeType { + param([string]$type) + if ([string]::IsNullOrEmpty($type)) { return $false } + if ($type -eq "DynamicList" -or $type -eq "ConstantsSet") { return $true } + $objectSuffixes = @( + "CatalogObject", "DocumentObject", "DataProcessorObject", "ReportObject", + "ExternalDataProcessorObject", "ExternalReportObject", "BusinessProcessObject", + "TaskObject", "ChartOfAccountsObject", "ChartOfCharacteristicTypesObject", + "ChartOfCalculationTypesObject", "ExchangePlanObject" + ) + $recordSetPrefixes = @( + "InformationRegisterRecordSet", "AccumulationRegisterRecordSet", + "AccountingRegisterRecordSet", "CalculationRegisterRecordSet", + "InformationRegisterRecordManager" + ) + foreach ($suffix in $objectSuffixes) { + if ($type -like "$suffix.*") { return $true } + } + foreach ($prefix in $recordSetPrefixes) { + if ($type -like "$prefix.*") { return $true } + } + return $false +} + +# 11b.1: Normalize synonyms recursively +if ($def.elements) { + foreach ($el in $def.elements) { Normalize-ElementSynonyms $el } +} + +# 11b.2: Extract autoCmdBar element from def.elements +$script:mainAcbDef = $null +if ($def.elements) { + $autoBars = @() + $rest = @() + foreach ($el in $def.elements) { + if ($null -ne $el.PSObject.Properties["autoCmdBar"] -and $null -ne $el.autoCmdBar) { + $autoBars += $el + } else { + $rest += $el + } + } + if ($autoBars.Count -gt 1) { + Write-Error "form-compile: more than one autoCmdBar in def.elements (found $($autoBars.Count)); only one allowed." + exit 1 + } + if ($autoBars.Count -eq 1) { + $script:mainAcbDef = $autoBars[0] + # Replace def.elements with the filtered list + $def.PSObject.Properties.Remove("elements") | Out-Null + $def | Add-Member -NotePropertyName "elements" -NotePropertyValue $rest -Force + } +} + +# 11b.3: Infer main attribute (only if no attribute has main:true) +if ($def.attributes) { + $hasExplicitMain = $false + foreach ($attr in $def.attributes) { + if ($attr.main -eq $true) { $hasExplicitMain = $true; break } + } + if (-not $hasExplicitMain) { + $candidates = @() + foreach ($attr in $def.attributes) { + # Skip if user explicitly opted out via main:false + if ($null -ne $attr.PSObject.Properties["main"] -and $attr.main -eq $false) { continue } + if (Test-IsObjectLikeType "$($attr.type)") { + $candidates += $attr + } + } + if ($candidates.Count -eq 1) { + $candidates[0] | Add-Member -NotePropertyName "main" -NotePropertyValue $true -Force + Write-Host "[INFO] Inferred main attribute: $($candidates[0].name) ($($candidates[0].type))" + } elseif ($candidates.Count -gt 1) { + $names = ($candidates | ForEach-Object { $_.name }) -join ", " + Write-Host "[WARN] Multiple main-attribute candidates: $names; specify ""main"": true explicitly" + } + } +} + +# 11b.4: DynamicList → table heuristic +if ($def.attributes -and $def.elements) { + $mainAttr = $null + foreach ($attr in $def.attributes) { + if ($attr.main -eq $true) { $mainAttr = $attr; break } + } + if ($mainAttr -and "$($mainAttr.type)" -eq "DynamicList") { + foreach ($el in $def.elements) { + ApplyDynamicListTableHeuristic $el $mainAttr.name + } + } +} + +# 11b.5: Compute main AutoCommandBar Autofill via heuristic B3 +function Compute-MainAcbAutofill { + if ($script:mainAcbDef) { + if ($null -ne $script:mainAcbDef.PSObject.Properties["autofill"]) { + return [bool]$script:mainAcbDef.autofill + } + return $true + } + if ($def.elements) { + foreach ($el in $def.elements) { + if (HasCmdBarRecursive $el) { return $false } + } + } + return $true +} + # --- 12. Main compilation --- # Title @@ -2654,10 +2824,37 @@ if ($def.excludedCommands -and $def.excludedCommands.Count -gt 0) { } # 12d. AutoCommandBar (always present, id=-1) -X "`t" -X "`t`tRight" -X "`t`tfalse" -X "`t" +$acbAutofill = Compute-MainAcbAutofill +$acbName = "ФормаКоманднаяПанель" +$acbHAlign = $null +if ($script:mainAcbDef) { + if ($null -ne $script:mainAcbDef.PSObject.Properties["autoCmdBar"] -and "$($script:mainAcbDef.autoCmdBar)" -ne "") { + $acbName = "$($script:mainAcbDef.autoCmdBar)" + } + if ($null -ne $script:mainAcbDef.PSObject.Properties["name"] -and "$($script:mainAcbDef.name)" -ne "") { + $acbName = "$($script:mainAcbDef.name)" + } + if ($null -ne $script:mainAcbDef.PSObject.Properties["horizontalAlign"] -and "$($script:mainAcbDef.horizontalAlign)" -ne "") { + $acbHAlign = "$($script:mainAcbDef.horizontalAlign)" + } +} +$hasAcbChildren = ($script:mainAcbDef -and $script:mainAcbDef.children -and $script:mainAcbDef.children.Count -gt 0) +$acbHasInner = ($acbHAlign -or (-not $acbAutofill) -or $hasAcbChildren) +if ($acbHasInner) { + X "`t" + if ($acbHAlign) { X "`t`t$acbHAlign" } + if (-not $acbAutofill) { X "`t`tfalse" } + if ($hasAcbChildren) { + X "`t`t" + foreach ($child in $script:mainAcbDef.children) { + Emit-Element -el $child -indent "`t`t`t" + } + X "`t`t" + } + X "`t" +} else { + X "`t" +} # 12e. Events if ($def.events) { diff --git a/.claude/skills/form-compile/scripts/form-compile.py b/.claude/skills/form-compile/scripts/form-compile.py index 08d71528..54f41a86 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.6 — Compile 1C managed form from JSON or object metadata +# form-compile v1.9 — Compile 1C managed form from JSON or object metadata # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse import copy @@ -1455,7 +1455,7 @@ CFG_REF_PATTERN = re.compile( ) KNOWN_INVALID_TYPES = { - 'FormDataStructure': 'Runtime type. Use cfg:*Object.XXX (e.g. CatalogObject.XXX)', + 'FormDataStructure': 'Runtime type. Use object type without cfg: prefix (e.g. CatalogObject.Контрагенты, DocumentObject.Приход)', 'FormDataCollection': 'Runtime type. Use ValueTable', 'FormDataTree': 'Runtime type. Use ValueTree', 'FormDataTreeItem': 'Runtime type, not valid in XML', @@ -1489,6 +1489,9 @@ _FORM_TYPE_SYNONYMS = { def resolve_type_str(type_str): if not type_str: return type_str + # Lenient: strip leading cfg: prefix if user passed it (canonical form is without prefix) + if type_str.startswith('cfg:'): + type_str = type_str[4:] m = re.match(r'^([^(]+)\((.+)\)$', type_str) if m: base, params = m.group(1).strip(), m.group(2) @@ -1599,6 +1602,12 @@ def emit_type(lines, type_str, indent): # --- Element emitters --- def emit_element(lines, el, indent): + # Silent synonyms (safety net; top-level autoCmdBar is normally extracted in pre-pass) + _synonyms = {'commandBar': 'cmdBar', 'autoCommandBar': 'autoCmdBar'} + for src, dst in _synonyms.items(): + if src in el and dst not in el: + el[dst] = el.pop(src) + type_key = None for key in TYPE_KEYS: if el.get(key) is not None: @@ -2533,6 +2542,126 @@ def main(): with open(json_path, 'r', encoding='utf-8-sig') as f: defn = json.load(f) + # --- 1b. Pre-pass: synonyms, main attribute inference, heuristics, autoCmdBar extraction --- + def _normalize_synonyms(el): + if not isinstance(el, dict): + return + synonyms = {'commandBar': 'cmdBar', 'autoCommandBar': 'autoCmdBar'} + for src, dst in synonyms.items(): + if src in el and dst not in el: + el[dst] = el.pop(src) + if isinstance(el.get('children'), list): + for child in el['children']: + _normalize_synonyms(child) + if isinstance(el.get('columns'), list): + for child in el['columns']: + _normalize_synonyms(child) + + def _has_cmd_bar_recursive(el): + if not isinstance(el, dict): + return False + if el.get('cmdBar') is not None: + return True + if isinstance(el.get('children'), list): + for child in el['children']: + if _has_cmd_bar_recursive(child): + return True + if isinstance(el.get('columns'), list): + for child in el['columns']: + if _has_cmd_bar_recursive(child): + return True + return False + + def _apply_dlist_table_heuristic(el, list_name): + if not isinstance(el, dict): + return + if el.get('table') is not None and str(el.get('path', '')) == list_name: + if 'tableAutofill' not in el: + el['tableAutofill'] = False + if 'commandBarLocation' not in el: + el['commandBarLocation'] = 'None' + if isinstance(el.get('children'), list): + for child in el['children']: + _apply_dlist_table_heuristic(child, list_name) + + def _is_object_like_type(t): + if not t: + return False + if t == 'DynamicList' or t == 'ConstantsSet': + return True + object_suffixes = ( + 'CatalogObject', 'DocumentObject', 'DataProcessorObject', 'ReportObject', + 'ExternalDataProcessorObject', 'ExternalReportObject', 'BusinessProcessObject', + 'TaskObject', 'ChartOfAccountsObject', 'ChartOfCharacteristicTypesObject', + 'ChartOfCalculationTypesObject', 'ExchangePlanObject', + ) + record_set_prefixes = ( + 'InformationRegisterRecordSet', 'AccumulationRegisterRecordSet', + 'AccountingRegisterRecordSet', 'CalculationRegisterRecordSet', + 'InformationRegisterRecordManager', + ) + for s in object_suffixes: + if t.startswith(s + '.'): + return True + for s in record_set_prefixes: + if t.startswith(s + '.'): + return True + return False + + # 1b.1: Normalize synonyms recursively + if isinstance(defn.get('elements'), list): + for el in defn['elements']: + _normalize_synonyms(el) + + # 1b.2: Extract autoCmdBar element from defn['elements'] + main_acb_def = None + if isinstance(defn.get('elements'), list): + auto_bars = [el for el in defn['elements'] if isinstance(el, dict) and el.get('autoCmdBar') is not None] + if len(auto_bars) > 1: + print(f"form-compile: more than one autoCmdBar in def.elements (found {len(auto_bars)}); only one allowed.", file=sys.stderr) + sys.exit(1) + if len(auto_bars) == 1: + main_acb_def = auto_bars[0] + defn['elements'] = [el for el in defn['elements'] if el is not main_acb_def] + + # 1b.3: Infer main attribute + if isinstance(defn.get('attributes'), list): + has_explicit_main = any(a.get('main') is True for a in defn['attributes'] if isinstance(a, dict)) + if not has_explicit_main: + candidates = [] + for a in defn['attributes']: + if not isinstance(a, dict): + continue + if 'main' in a and a.get('main') is False: + continue + if _is_object_like_type(str(a.get('type', ''))): + candidates.append(a) + if len(candidates) == 1: + candidates[0]['main'] = True + print(f"[INFO] Inferred main attribute: {candidates[0].get('name')} ({candidates[0].get('type')})") + elif len(candidates) > 1: + names = ', '.join(c.get('name', '') for c in candidates) + print(f"[WARN] Multiple main-attribute candidates: {names}; specify \"main\": true explicitly") + + # 1b.4: DynamicList → table heuristic + if isinstance(defn.get('attributes'), list) and isinstance(defn.get('elements'), list): + main_attr = next((a for a in defn['attributes'] if isinstance(a, dict) and a.get('main') is True), None) + if main_attr and str(main_attr.get('type', '')) == 'DynamicList': + for el in defn['elements']: + _apply_dlist_table_heuristic(el, main_attr.get('name', '')) + + # 1b.5: Compute main AutoCommandBar Autofill (B3) + def _compute_main_acb_autofill(): + if main_acb_def is not None: + if 'autofill' in main_acb_def: + return bool(main_acb_def.get('autofill')) + return True + if isinstance(defn.get('elements'), list): + for el in defn['elements']: + if _has_cmd_bar_recursive(el): + return False + return True + # --- 2. Main compilation --- _next_id = 0 lines = [] @@ -2560,10 +2689,33 @@ def main(): lines.append('\t') # AutoCommandBar (always present, id=-1) - lines.append('\t') - lines.append('\t\tRight') - lines.append('\t\tfalse') - lines.append('\t') + acb_autofill = _compute_main_acb_autofill() + acb_name = '\u0424\u043e\u0440\u043c\u0430\u041a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f\u041f\u0430\u043d\u0435\u043b\u044c' + acb_halign = None + if main_acb_def is not None: + v = main_acb_def.get('autoCmdBar') + if v: + acb_name = str(v) + if main_acb_def.get('name'): + acb_name = str(main_acb_def['name']) + if main_acb_def.get('horizontalAlign'): + acb_halign = str(main_acb_def['horizontalAlign']) + has_acb_children = bool(main_acb_def and isinstance(main_acb_def.get('children'), list) and len(main_acb_def['children']) > 0) + has_inner = bool(acb_halign) or (not acb_autofill) or has_acb_children + if has_inner: + lines.append(f'\t') + if acb_halign: + lines.append(f'\t\t{acb_halign}') + if not acb_autofill: + lines.append('\t\tfalse') + if has_acb_children: + lines.append('\t\t') + for child in main_acb_def['children']: + emit_element(lines, child, '\t\t\t') + lines.append('\t\t') + lines.append('\t') + else: + lines.append(f'\t') # Events if defn.get('events'): diff --git a/.claude/skills/form-info/scripts/form-info.ps1 b/.claude/skills/form-info/scripts/form-info.ps1 index 4e15cb0d..b7f5b790 100644 --- a/.claude/skills/form-info/scripts/form-info.ps1 +++ b/.claude/skills/form-info/scripts/form-info.ps1 @@ -1,8 +1,8 @@ -# form-info v1.2 — Analyze 1C managed form structure +# form-info v1.3 — Analyze 1C managed form structure # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills param( [Parameter(Mandatory=$true)] - [Alias('Path')] + [Alias('Path')] [string]$FormPath, [int]$Limit = 150, [int]$Offset = 0, @@ -436,6 +436,62 @@ if ($formEvents -and $formEvents.HasChildNodes) { } } +# --- Main AutoCommandBar (form's id=-1 panel) --- + +function Format-MainAcb($acbNode) { + if (-not $acbNode) { return @() } + $result = @() + $autofillNode = $acbNode.SelectSingleNode("d:Autofill", $ns) + $autofill = $true + if ($autofillNode -and $autofillNode.InnerText -eq "false") { $autofill = $false } + $halignNode = $acbNode.SelectSingleNode("d:HorizontalAlign", $ns) + $flags = @() + $flags += if ($autofill) { "autofill" } else { "no-autofill" } + if ($halignNode) { $flags += "align=$($halignNode.InnerText)" } + $header = "AutoCommandBar [$($flags -join ', ')]" + $childItemsNode = $acbNode.SelectSingleNode("d:ChildItems", $ns) + $buttons = @() + if ($childItemsNode) { + foreach ($btn in $childItemsNode.ChildNodes) { + if ($btn.NodeType -ne "Element") { continue } + if ($skipElements.ContainsKey($btn.LocalName)) { continue } + $bName = $btn.GetAttribute("name") + $cmdNode = $btn.SelectSingleNode("d:CommandName", $ns) + $cmdRef = if ($cmdNode) { $cmdNode.InnerText } else { "" } + $locNode = $btn.SelectSingleNode("d:LocationInCommandBar", $ns) + $locStr = if ($locNode) { " [$($locNode.InnerText)]" } else { "" } + $tag = Get-ElementTag $btn + if ($cmdRef) { + $buttons += " $tag $bName -> $cmdRef$locStr" + } else { + $buttons += " $tag $bName$locStr" + } + } + } + if ($buttons.Count -eq 0 -and $autofill -and -not $halignNode) { + # Default empty panel — terse one-liner + return @("AutoCommandBar [autofill]") + } + $result += $header + $result += $buttons + return $result +} + +# Determine position from CommandBarLocation form property +$cbLocNode = $root.SelectSingleNode("d:CommandBarLocation", $ns) +$cbLoc = if ($cbLocNode) { $cbLocNode.InnerText } else { "Auto" } +$mainAcbNode = $root.SelectSingleNode("d:AutoCommandBar", $ns) +$acbLines = @() +if ($cbLoc -ne "None" -and $mainAcbNode) { + $acbLines = Format-MainAcb $mainAcbNode +} + +# AutoCommandBar above Elements (Auto/Top) +if ($acbLines.Count -gt 0 -and ($cbLoc -eq "Auto" -or $cbLoc -eq "Top")) { + $lines += "" + $lines += $acbLines +} + # --- Element tree --- $childItems = $root.SelectSingleNode("d:ChildItems", $ns) @@ -446,6 +502,12 @@ if ($childItems) { $lines += $treeLines.ToArray() } +# AutoCommandBar below Elements (Bottom) +if ($acbLines.Count -gt 0 -and $cbLoc -eq "Bottom") { + $lines += "" + $lines += $acbLines +} + # --- Attributes --- $attrsNode = $root.SelectSingleNode("d:Attributes", $ns) diff --git a/.claude/skills/form-info/scripts/form-info.py b/.claude/skills/form-info/scripts/form-info.py index ba18fcfb..8599cc47 100644 --- a/.claude/skills/form-info/scripts/form-info.py +++ b/.claude/skills/form-info/scripts/form-info.py @@ -1,5 +1,5 @@ #!/usr/bin/env python3 -# form-info v1.2 — Analyze 1C managed form structure +# form-info v1.3 — Analyze 1C managed form structure # Source: https://github.com/Nikolay-Shirokov/cc-1c-skills import argparse @@ -484,6 +484,50 @@ def main(): ct_str = f"[{ct}]" if ct else "" lines.append(f" {e_name}{ct_str} -> {e_handler}") + # --- Main AutoCommandBar (form's id=-1 panel) --- + def format_main_acb(acb_node): + if acb_node is None: + return [] + autofill_node = acb_node.find("d:Autofill", NSMAP) + autofill = not (autofill_node is not None and autofill_node.text == "false") + halign_node = acb_node.find("d:HorizontalAlign", NSMAP) + flags = ["autofill" if autofill else "no-autofill"] + if halign_node is not None and halign_node.text: + flags.append(f"align={halign_node.text}") + ci_node = acb_node.find("d:ChildItems", NSMAP) + buttons = [] + if ci_node is not None: + for btn in ci_node: + if not isinstance(btn.tag, str): + continue + ln = etree.QName(btn).localname + if ln in SKIP_ELEMENTS: + continue + b_name = btn.get("name", "") + cmd_node = btn.find("d:CommandName", NSMAP) + cmd_ref = cmd_node.text if cmd_node is not None and cmd_node.text else "" + loc_node = btn.find("d:LocationInCommandBar", NSMAP) + loc_str = f" [{loc_node.text}]" if loc_node is not None and loc_node.text else "" + tag = get_element_tag(btn) + if cmd_ref: + buttons.append(f" {tag} {b_name} -> {cmd_ref}{loc_str}") + else: + buttons.append(f" {tag} {b_name}{loc_str}") + if not buttons and autofill and halign_node is None: + return ["AutoCommandBar [autofill]"] + return [f"AutoCommandBar [{', '.join(flags)}]"] + buttons + + cb_loc_node = root.find("d:CommandBarLocation", NSMAP) + cb_loc = cb_loc_node.text if cb_loc_node is not None and cb_loc_node.text else "Auto" + main_acb_node = root.find("d:AutoCommandBar", NSMAP) + acb_lines = [] + if cb_loc != "None" and main_acb_node is not None: + acb_lines = format_main_acb(main_acb_node) + + if acb_lines and cb_loc in ("Auto", "Top"): + lines.append("") + lines.extend(acb_lines) + # --- Element tree --- tree_state = {"has_collapsed": False} child_items = root.find("d:ChildItems", NSMAP) @@ -494,6 +538,10 @@ def main(): build_tree(child_items, " ", tree_lines, expand, tree_state) lines.extend(tree_lines) + if acb_lines and cb_loc == "Bottom": + lines.append("") + lines.extend(acb_lines) + # --- Attributes --- attrs_node = root.find("d:Attributes", NSMAP) if attrs_node is not None: diff --git a/tests/skills/cases/cf-edit/set-home-page.json b/tests/skills/cases/cf-edit/set-home-page.json new file mode 100644 index 00000000..9fd96fd5 --- /dev/null +++ b/tests/skills/cases/cf-edit/set-home-page.json @@ -0,0 +1,24 @@ +{ + "name": "Установить начальную страницу (template + left/right + visibility/roles)", + "input": [ + { + "operation": "set-home-page", + "value": { + "template": "TwoColumnsVariableWidth", + "left": [ + "CommonForm.НачалоРаботы", + { "form": "CommonForm.СписокЗадач", "height": 100, "visibility": false }, + { "form": "Справочник.Контрагенты.ФормаСписка", "height": 50 }, + { + "form": "CommonForm.РабочийСтолОператора", + "visibility": false, + "roles": { "Role.Оператор": true, "ПолныеПрава": false } + } + ], + "right": [ + { "form": "DataProcessor.Поиск.Form.ФормаПоиска", "height": 30 } + ] + } + } + ] +} diff --git a/tests/skills/cases/cf-edit/snapshots/add-default-role/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-edit/snapshots/add-default-role/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/add-default-role/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-edit/snapshots/add-objects/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-edit/snapshots/add-objects/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/add-objects/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-edit/snapshots/modify-multiple-props/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-edit/snapshots/modify-multiple-props/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/modify-multiple-props/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-edit/snapshots/remove-object/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-edit/snapshots/remove-object/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/remove-object/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-edit/snapshots/set-default-roles/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-edit/snapshots/set-default-roles/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/set-default-roles/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-edit/snapshots/set-home-page/Configuration.xml b/tests/skills/cases/cf-edit/snapshots/set-home-page/Configuration.xml new file mode 100644 index 00000000..ae8620a1 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/set-home-page/Configuration.xml @@ -0,0 +1,251 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + TestConfig + + + ru + TestConfig + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-edit/snapshots/set-home-page/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-edit/snapshots/set-home-page/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/set-home-page/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-edit/snapshots/set-home-page/Ext/HomePageWorkArea.xml b/tests/skills/cases/cf-edit/snapshots/set-home-page/Ext/HomePageWorkArea.xml new file mode 100644 index 00000000..a5ade617 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/set-home-page/Ext/HomePageWorkArea.xml @@ -0,0 +1,45 @@ + + + TwoColumnsVariableWidth + + +
CommonForm.НачалоРаботы
+ 10 + + true + +
+ +
CommonForm.СписокЗадач
+ 100 + + false + +
+ +
Catalog.Контрагенты.Form.ФормаСписка
+ 50 + + true + +
+ +
CommonForm.РабочийСтолОператора
+ 10 + + false + true + false + +
+
+ + +
DataProcessor.Поиск.Form.ФормаПоиска
+ 30 + + true + +
+
+
\ No newline at end of file diff --git a/tests/skills/cases/cf-edit/snapshots/set-home-page/Languages/Русский.xml b/tests/skills/cases/cf-edit/snapshots/set-home-page/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/set-home-page/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-edit/snapshots/set-version/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-edit/snapshots/set-version/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-edit/snapshots/set-version/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-info/snapshots/brief-mode/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-info/snapshots/brief-mode/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-info/snapshots/brief-mode/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-info/snapshots/config-with-objects/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-info/snapshots/config-with-objects/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-info/snapshots/config-with-objects/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-info/snapshots/full-mode/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-info/snapshots/full-mode/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-info/snapshots/full-mode/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-info/snapshots/overview/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-info/snapshots/overview/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-info/snapshots/overview/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-validate/snapshots/modified-config/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-validate/snapshots/modified-config/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-validate/snapshots/modified-config/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cf-validate/snapshots/valid-config/Ext/ClientApplicationInterface.xml b/tests/skills/cases/cf-validate/snapshots/valid-config/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cf-validate/snapshots/valid-config/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/catalog/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/snapshots/catalog/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/catalog/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/common-module/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/snapshots/common-module/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/common-module/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/document/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/snapshots/document/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/document/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/enum/Enums/ВидыОплат/Ext/ManagerModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/enum/Enums/ВидыОплат/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/cfe-borrow/snapshots/enum/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/snapshots/enum/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/enum/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-borrow/snapshots/multiple-objects/Enums/Статусы/Ext/ManagerModule.bsl b/tests/skills/cases/cfe-borrow/snapshots/multiple-objects/Enums/Статусы/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/cfe-borrow/snapshots/multiple-objects/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-borrow/snapshots/multiple-objects/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-borrow/snapshots/multiple-objects/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-diff/snapshots/empty-extension/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-diff/snapshots/empty-extension/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-diff/snapshots/empty-extension/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-diff/snapshots/with-borrowed-catalog/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-diff/snapshots/with-borrowed-catalog/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-diff/snapshots/with-borrowed-catalog/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-diff/snapshots/with-common-module/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-diff/snapshots/with-common-module/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-diff/snapshots/with-common-module/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-init/snapshots/addon-purpose/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-init/snapshots/addon-purpose/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-init/snapshots/addon-purpose/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-init/snapshots/basic/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-init/snapshots/basic/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-init/snapshots/basic/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-init/snapshots/no-role/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-init/snapshots/no-role/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-init/snapshots/no-role/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-init/snapshots/patch-purpose/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-init/snapshots/patch-purpose/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-init/snapshots/patch-purpose/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-init/snapshots/with-prefix/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-init/snapshots/with-prefix/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-init/snapshots/with-prefix/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-init/snapshots/with-version-vendor/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-init/snapshots/with-version-vendor/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-init/snapshots/with-version-vendor/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-patch-method/snapshots/after-handler/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-patch-method/snapshots/after-handler/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-patch-method/snapshots/after-handler/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-patch-method/snapshots/before-handler/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-patch-method/snapshots/before-handler/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-patch-method/snapshots/before-handler/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-patch-method/snapshots/document-manager/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-patch-method/snapshots/document-manager/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-patch-method/snapshots/document-manager/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-patch-method/snapshots/function-handler/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-patch-method/snapshots/function-handler/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-patch-method/snapshots/function-handler/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-patch-method/snapshots/mod-and-control/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-patch-method/snapshots/mod-and-control/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-patch-method/snapshots/mod-and-control/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-validate/snapshots/patch-extension/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-validate/snapshots/patch-extension/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-validate/snapshots/patch-extension/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-validate/snapshots/valid/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-validate/snapshots/valid/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-validate/snapshots/valid/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/cfe-validate/snapshots/with-borrowed-object/ext/ClientApplicationInterface.xml b/tests/skills/cases/cfe-validate/snapshots/with-borrowed-object/ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/cfe-validate/snapshots/with-borrowed-object/ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/basic/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-add/snapshots/basic/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/basic/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/dataprocessor-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-add/snapshots/dataprocessor-form/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/dataprocessor-form/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/document-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-add/snapshots/document-form/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/document-form/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/list-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-add/snapshots/list-form/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/list-form/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/set-default/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-add/snapshots/set-default/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/set-default/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/accumreg-list-simple/AccumulationRegisters/ДенежныеСредства/Forms/ФормаСписка/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/accumreg-list-simple/AccumulationRegisters/ДенежныеСредства/Forms/ФормаСписка/Ext/Form.xml index ad3d6db2..54ff8a38 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/accumreg-list-simple/AccumulationRegisters/ДенежныеСредства/Forms/ФормаСписка/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/accumreg-list-simple/AccumulationRegisters/ДенежныеСредства/Forms/ФормаСписка/Ext/Form.xml @@ -6,10 +6,7 @@ Денежные средства - - Right - false - + Список diff --git a/tests/skills/cases/form-compile-from-object/snapshots/accumreg-list-simple/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/accumreg-list-simple/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/accumreg-list-simple/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/catalog-item-simple/Catalogs/Валюты/Forms/ФормаЭлемента/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/catalog-item-simple/Catalogs/Валюты/Forms/ФормаЭлемента/Ext/Form.xml index 93aa7a06..222ebb09 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/catalog-item-simple/Catalogs/Валюты/Forms/ФормаЭлемента/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/catalog-item-simple/Catalogs/Валюты/Forms/ФормаЭлемента/Ext/Form.xml @@ -6,10 +6,7 @@ Валюты - - Right - false - + Vertical diff --git a/tests/skills/cases/form-compile-from-object/snapshots/catalog-item-simple/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/catalog-item-simple/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/catalog-item-simple/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/catalog-list-simple/Catalogs/Валюты/Forms/ФормаСписка/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/catalog-list-simple/Catalogs/Валюты/Forms/ФормаСписка/Ext/Form.xml index a346c3e7..ac356343 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/catalog-list-simple/Catalogs/Валюты/Forms/ФормаСписка/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/catalog-list-simple/Catalogs/Валюты/Forms/ФормаСписка/Ext/Form.xml @@ -6,10 +6,7 @@ Валюты - - Right - false - +
Список diff --git a/tests/skills/cases/form-compile-from-object/snapshots/catalog-list-simple/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/catalog-list-simple/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/catalog-list-simple/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/ccoct-item-simple/ChartsOfCharacteristicTypes/ВидыНоменклатуры/Forms/ФормаЭлемента/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/ccoct-item-simple/ChartsOfCharacteristicTypes/ВидыНоменклатуры/Forms/ФормаЭлемента/Ext/Form.xml index 789563e1..a0314456 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/ccoct-item-simple/ChartsOfCharacteristicTypes/ВидыНоменклатуры/Forms/ФормаЭлемента/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/ccoct-item-simple/ChartsOfCharacteristicTypes/ВидыНоменклатуры/Forms/ФормаЭлемента/Ext/Form.xml @@ -6,10 +6,7 @@ Виды номенклатуры - - Right - false - + Vertical diff --git a/tests/skills/cases/form-compile-from-object/snapshots/ccoct-item-simple/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/ccoct-item-simple/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/ccoct-item-simple/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-item-simple/ChartsOfAccounts/Хозрасчетный/Forms/ФормаСчета/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-item-simple/ChartsOfAccounts/Хозрасчетный/Forms/ФормаСчета/Ext/Form.xml index 52edbca4..fabbb749 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-item-simple/ChartsOfAccounts/Хозрасчетный/Forms/ФормаСчета/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-item-simple/ChartsOfAccounts/Хозрасчетный/Forms/ФормаСчета/Ext/Form.xml @@ -6,10 +6,7 @@ Хозрасчетный - - Right - false - + Horizontal diff --git a/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-item-simple/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-item-simple/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-item-simple/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-list-simple/ChartsOfAccounts/Хозрасчетный/Forms/ФормаСписка/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-list-simple/ChartsOfAccounts/Хозрасчетный/Forms/ФормаСписка/Ext/Form.xml index a09a1031..af82121a 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-list-simple/ChartsOfAccounts/Хозрасчетный/Forms/ФормаСписка/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-list-simple/ChartsOfAccounts/Хозрасчетный/Forms/ФормаСписка/Ext/Form.xml @@ -6,10 +6,7 @@ Хозрасчетный - - Right - false - +
Список diff --git a/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-list-simple/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-list-simple/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/chartofaccounts-list-simple/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/document-item-medium/Documents/АктВыполненныхВнутреннихРабот/Forms/ФормаДокумента/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/document-item-medium/Documents/АктВыполненныхВнутреннихРабот/Forms/ФормаДокумента/Ext/Form.xml index 6a3e6f7c..b42de34b 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/document-item-medium/Documents/АктВыполненныхВнутреннихРабот/Forms/ФормаДокумента/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/document-item-medium/Documents/АктВыполненныхВнутреннихРабот/Forms/ФормаДокумента/Ext/Form.xml @@ -7,10 +7,7 @@ false - - Right - false - + diff --git a/tests/skills/cases/form-compile-from-object/snapshots/document-item-medium/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/document-item-medium/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/document-item-medium/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/document-list-medium/Documents/АктВыполненныхВнутреннихРабот/Forms/ФормаСписка/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/document-list-medium/Documents/АктВыполненныхВнутреннихРабот/Forms/ФормаСписка/Ext/Form.xml index aebd8f55..314dfea3 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/document-list-medium/Documents/АктВыполненныхВнутреннихРабот/Forms/ФормаСписка/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/document-list-medium/Documents/АктВыполненныхВнутреннихРабот/Forms/ФормаСписка/Ext/Form.xml @@ -6,10 +6,7 @@ Акт выполненных внутренних работ - - Right - false - +
Список diff --git a/tests/skills/cases/form-compile-from-object/snapshots/document-list-medium/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/document-list-medium/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/document-list-medium/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/exchangeplan-item-simple/ExchangePlans/ОбменДанными/Forms/ФормаЭлемента/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/exchangeplan-item-simple/ExchangePlans/ОбменДанными/Forms/ФормаЭлемента/Ext/Form.xml index 13e34c1e..b07d0630 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/exchangeplan-item-simple/ExchangePlans/ОбменДанными/Forms/ФормаЭлемента/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/exchangeplan-item-simple/ExchangePlans/ОбменДанными/Forms/ФормаЭлемента/Ext/Form.xml @@ -6,10 +6,7 @@ Обмен данными - - Right - false - + Vertical diff --git a/tests/skills/cases/form-compile-from-object/snapshots/exchangeplan-item-simple/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/exchangeplan-item-simple/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/exchangeplan-item-simple/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/inforeg-list-periodic/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-list-periodic/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-list-periodic/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/inforeg-list-periodic/InformationRegisters/ЦеныНоменклатуры/Forms/ФормаСписка/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-list-periodic/InformationRegisters/ЦеныНоменклатуры/Forms/ФормаСписка/Ext/Form.xml index 66e02865..0e1d23ef 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/inforeg-list-periodic/InformationRegisters/ЦеныНоменклатуры/Forms/ФормаСписка/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-list-periodic/InformationRegisters/ЦеныНоменклатуры/Forms/ФормаСписка/Ext/Form.xml @@ -6,10 +6,7 @@ Цены номенклатуры - - Right - false - +
Список diff --git a/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-nonperiodic/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-nonperiodic/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-nonperiodic/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-nonperiodic/InformationRegisters/АдресаМагазинов/Forms/ФормаЗаписи/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-nonperiodic/InformationRegisters/АдресаМагазинов/Forms/ФормаЗаписи/Ext/Form.xml index 7b0a78d0..e0df2b8b 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-nonperiodic/InformationRegisters/АдресаМагазинов/Forms/ФормаЗаписи/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-nonperiodic/InformationRegisters/АдресаМагазинов/Forms/ФормаЗаписи/Ext/Form.xml @@ -7,10 +7,7 @@ LockOwnerWindow - - Right - false - + Запись.Магазин diff --git a/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-periodic/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-periodic/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-periodic/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-periodic/InformationRegisters/КурсыВалют/Forms/ФормаЗаписи/Ext/Form.xml b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-periodic/InformationRegisters/КурсыВалют/Forms/ФормаЗаписи/Ext/Form.xml index cd0e19f2..f497c3df 100644 --- a/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-periodic/InformationRegisters/КурсыВалют/Forms/ФормаЗаписи/Ext/Form.xml +++ b/tests/skills/cases/form-compile-from-object/snapshots/inforeg-record-periodic/InformationRegisters/КурсыВалют/Forms/ФормаЗаписи/Ext/Form.xml @@ -7,10 +7,7 @@ LockOwnerWindow - - Right - false - + Запись.Period diff --git a/tests/skills/cases/form-compile/auto-cmd-bar.json b/tests/skills/cases/form-compile/auto-cmd-bar.json new file mode 100644 index 00000000..f9ec5e3b --- /dev/null +++ b/tests/skills/cases/form-compile/auto-cmd-bar.json @@ -0,0 +1,33 @@ +{ + "name": "autoCmdBar — кастомные кнопки в главной АКП формы с включённым autofill", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": { "type": "Catalog", "name": "Бригады" }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + }, + { + "script": "form-add/scripts/form-add", + "args": { "-ObjectPath": "{workDir}/Catalogs/Бригады.xml", "-FormName": "ФормаСписка", "-Purpose": "List" } + } + ], + "params": { "outputPath": "Catalogs/Бригады/Forms/ФормаСписка/Ext/Form.xml" }, + "validatePath": "Catalogs/Бригады/Forms/ФормаСписка/Ext/Form.xml", + "input": { + "title": "Бригады", + "attributes": [ + { "name": "Список", "type": "DynamicList", "main": true, "settings": { "mainTable": "Catalog.Бригады", "dynamicDataRead": true } } + ], + "elements": [ + { "autoCmdBar": "ФормаКоманднаяПанель", "children": [ + { "button": "ИзменитьВыделенные", "command": "ИзменитьВыделенные", "locationInCommandBar": "InAdditionalSubmenu" } + ]}, + { "table": "Список", "path": "Список", "columns": [ + { "input": "Наименование", "path": "Список.Description" } + ]} + ], + "commands": [ + { "name": "ИзменитьВыделенные", "action": "ИзменитьВыделенные" } + ] + } +} diff --git a/tests/skills/cases/form-compile/dynamic-list-form.json b/tests/skills/cases/form-compile/dynamic-list-form.json new file mode 100644 index 00000000..7ada47e1 --- /dev/null +++ b/tests/skills/cases/form-compile/dynamic-list-form.json @@ -0,0 +1,28 @@ +{ + "name": "Форма списка с DynamicList — main выводится, главная АКП без Autofill, таблица с Autofill=false", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": { "type": "Catalog", "name": "Товары", "attributes": [{ "name": "Артикул", "type": "String", "length": 25 }] }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + }, + { + "script": "form-add/scripts/form-add", + "args": { "-ObjectPath": "{workDir}/Catalogs/Товары.xml", "-FormName": "ФормаСписка", "-Purpose": "List" } + } + ], + "params": { "outputPath": "Catalogs/Товары/Forms/ФормаСписка/Ext/Form.xml" }, + "validatePath": "Catalogs/Товары/Forms/ФормаСписка/Ext/Form.xml", + "input": { + "title": "Товары", + "attributes": [ + { "name": "Список", "type": "DynamicList", "settings": { "mainTable": "Catalog.Товары", "dynamicDataRead": true } } + ], + "elements": [ + { "table": "Список", "path": "Список", "columns": [ + { "input": "Код", "path": "Список.Code" }, + { "input": "Наименование", "path": "Список.Description" } + ]} + ] + } +} diff --git a/tests/skills/cases/form-compile/snapshots/attributes-types/DataProcessors/Типы/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/attributes-types/DataProcessors/Типы/Forms/Форма/Ext/Form.xml index 772b90d8..182aea4d 100644 --- a/tests/skills/cases/form-compile/snapshots/attributes-types/DataProcessors/Типы/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/attributes-types/DataProcessors/Типы/Forms/Форма/Ext/Form.xml @@ -6,10 +6,7 @@ Разные типы - - Right - false - + Строка diff --git a/tests/skills/cases/form-compile/snapshots/attributes-types/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/attributes-types/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/attributes-types/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады.xml b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады.xml new file mode 100644 index 00000000..71395fdd --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады.xml @@ -0,0 +1,329 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Бригады + + + ru + Бригады + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + Auto + InDialog + true + BothWays + + Catalog.Бригады.StandardAttribute.Description + Catalog.Бригады.StandardAttribute.Code + + Begin + DontUse + Directly + + + Catalog.Бригады.Form.ФормаСписка + + + + + + + + false + + + Automatic + Use + + + + + + DontUse + Auto + DontUse + false + false + + +
ФормаСписка +
+
+
diff --git a/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Ext/ObjectModule.bsl b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Forms/ФормаСписка.xml b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Forms/ФормаСписка.xml new file mode 100644 index 00000000..79ff6a75 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Forms/ФормаСписка.xml @@ -0,0 +1,21 @@ + + +
+ + ФормаСписка + + + ru + ФормаСписка + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + + +
\ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Forms/ФормаСписка/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Forms/ФормаСписка/Ext/Form.xml new file mode 100644 index 00000000..a4fb4c16 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Forms/ФормаСписка/Ext/Form.xml @@ -0,0 +1,56 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Бригады</v8:content> + </v8:item> + + + + + + + +
+ Список + None + + + false + + + + + + + Список.Description + + + + +
+
+ + + + cfg:DynamicList + + true + + Catalog.Бригады + false + true + + + + + + ИзменитьВыделенные + + + diff --git a/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Forms/ФормаСписка/Ext/Form/Module.bsl b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Forms/ФормаСписка/Ext/Form/Module.bsl new file mode 100644 index 00000000..8ead4cec --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Catalogs/Бригады/Forms/ФормаСписка/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Configuration.xml b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Configuration.xml new file mode 100644 index 00000000..381e840a --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Configuration.xml @@ -0,0 +1,252 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + TestConfig + + + ru + TestConfig + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Бригады + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Languages/Русский.xml b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/auto-cmd-bar/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/catalog-form/Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/catalog-form/Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml index c170746a..c4f31cb2 100644 --- a/tests/skills/cases/form-compile/snapshots/catalog-form/Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/catalog-form/Catalogs/Товары/Forms/ФормаЭлемента/Ext/Form.xml @@ -6,10 +6,7 @@ Товар - - Right - false - + Объект.Наименование diff --git a/tests/skills/cases/form-compile/snapshots/catalog-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/catalog-form/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/catalog-form/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/commands/DataProcessors/Команды/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/commands/DataProcessors/Команды/Forms/Форма/Ext/Form.xml index 1e28a424..b5dc7b3d 100644 --- a/tests/skills/cases/form-compile/snapshots/commands/DataProcessors/Команды/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/commands/DataProcessors/Команды/Forms/Форма/Ext/Form.xml @@ -7,7 +7,6 @@ - Right false diff --git a/tests/skills/cases/form-compile/snapshots/commands/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/commands/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/commands/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары.xml b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары.xml new file mode 100644 index 00000000..f51c2bff --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары.xml @@ -0,0 +1,373 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + + Товары + + + ru + Товары + + + + false + HierarchyFoldersAndItems + false + 2 + true + true + + ToItems + 9 + 25 + String + Variable + WholeCatalog + false + true + AsDescription + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + DontCheck + false + false + Auto + + + false + + + Auto + Auto + + false + Use + false + + + + Use + + + + + + + + Auto + InDialog + true + BothWays + + Catalog.Товары.StandardAttribute.Description + Catalog.Товары.StandardAttribute.Code + + Begin + DontUse + Directly + + + Catalog.Товары.Form.ФормаСписка + + + + + + + + false + + + Automatic + Use + + + + + + DontUse + Auto + DontUse + false + false + + + + + Артикул + + + ru + Артикул + + + + + xs:string + + 25 + Variable + + + false + + + + false + + false + false + + + false + + DontCheck + Items + + + Auto + Auto + + + Auto + ForItem + DontIndex + Use + Use + + +
ФормаСписка
+
+
+
diff --git a/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Ext/ObjectModule.bsl b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Forms/ФормаСписка.xml b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Forms/ФормаСписка.xml new file mode 100644 index 00000000..79ff6a75 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Forms/ФормаСписка.xml @@ -0,0 +1,21 @@ + + +
+ + ФормаСписка + + + ru + ФормаСписка + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Forms/ФормаСписка/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Forms/ФормаСписка/Ext/Form.xml new file mode 100644 index 00000000..e51dbe3b --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Forms/ФормаСписка/Ext/Form.xml @@ -0,0 +1,48 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Товары</v8:content> + </v8:item> + + + + + Список + None + + + false + + + + + + + Список.Code + + + + + Список.Description + + + + +
+
+ + + + cfg:DynamicList + + true + + Catalog.Товары + false + true + + + + diff --git a/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Forms/ФормаСписка/Ext/Form/Module.bsl b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Forms/ФормаСписка/Ext/Form/Module.bsl new file mode 100644 index 00000000..8ead4cec --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Catalogs/Товары/Forms/ФормаСписка/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Configuration.xml b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Configuration.xml new file mode 100644 index 00000000..5405b1b5 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Configuration.xml @@ -0,0 +1,252 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + TestConfig + + + ru + TestConfig + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Товары + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Languages/Русский.xml b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/dynamic-list-form/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/events/DataProcessors/События/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/events/DataProcessors/События/Forms/Форма/Ext/Form.xml index e9d2fd6e..2393fec5 100644 --- a/tests/skills/cases/form-compile/snapshots/events/DataProcessors/События/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/events/DataProcessors/События/Forms/Форма/Ext/Form.xml @@ -6,10 +6,7 @@ События - - Right - false - + ПриСозданииНаСервере ПриОткрытии diff --git a/tests/skills/cases/form-compile/snapshots/events/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/events/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/events/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/file-dialog/DataProcessors/ЗагрузкаИзФайла/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/file-dialog/DataProcessors/ЗагрузкаИзФайла/Forms/Форма/Ext/Form.xml index a1f7070d..51a196ad 100644 --- a/tests/skills/cases/form-compile/snapshots/file-dialog/DataProcessors/ЗагрузкаИзФайла/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/file-dialog/DataProcessors/ЗагрузкаИзФайла/Forms/Форма/Ext/Form.xml @@ -7,10 +7,7 @@ false - - Right - false - + ПриСозданииНаСервере diff --git a/tests/skills/cases/form-compile/snapshots/file-dialog/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/file-dialog/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/file-dialog/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/groups/DataProcessors/СГруппами/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/groups/DataProcessors/СГруппами/Forms/Форма/Ext/Form.xml index 4ba7c8d8..3cf25ee8 100644 --- a/tests/skills/cases/form-compile/snapshots/groups/DataProcessors/СГруппами/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/groups/DataProcessors/СГруппами/Forms/Форма/Ext/Form.xml @@ -7,7 +7,6 @@ - Right false diff --git a/tests/skills/cases/form-compile/snapshots/groups/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/groups/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/groups/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/input-fields/DataProcessors/ПоляВвода/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/input-fields/DataProcessors/ПоляВвода/Forms/Форма/Ext/Form.xml index d0cc3653..b5e73f4d 100644 --- a/tests/skills/cases/form-compile/snapshots/input-fields/DataProcessors/ПоляВвода/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/input-fields/DataProcessors/ПоляВвода/Forms/Форма/Ext/Form.xml @@ -6,10 +6,7 @@ Поля ввода - - Right - false - + ОбычноеПоле diff --git a/tests/skills/cases/form-compile/snapshots/input-fields/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/input-fields/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/input-fields/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/minimal/DataProcessors/Минимальная/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/minimal/DataProcessors/Минимальная/Forms/Форма/Ext/Form.xml index d37dcb0d..51cf9aff 100644 --- a/tests/skills/cases/form-compile/snapshots/minimal/DataProcessors/Минимальная/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/minimal/DataProcessors/Минимальная/Forms/Форма/Ext/Form.xml @@ -6,8 +6,5 @@ Минимальная форма - - Right - false - + diff --git a/tests/skills/cases/form-compile/snapshots/minimal/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/minimal/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/minimal/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/pages/DataProcessors/Мастер/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/pages/DataProcessors/Мастер/Forms/Форма/Ext/Form.xml index b826493d..7e55dee6 100644 --- a/tests/skills/cases/form-compile/snapshots/pages/DataProcessors/Мастер/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/pages/DataProcessors/Мастер/Forms/Форма/Ext/Form.xml @@ -7,10 +7,7 @@ false - - Right - false - + None diff --git a/tests/skills/cases/form-compile/snapshots/pages/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/pages/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/pages/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/synonyms/Configuration.xml b/tests/skills/cases/form-compile/snapshots/synonyms/Configuration.xml new file mode 100644 index 00000000..f8405b07 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/synonyms/Configuration.xml @@ -0,0 +1,252 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + UUID-006 + UUID-007 + + + UUID-008 + UUID-009 + + + UUID-010 + UUID-011 + + + UUID-012 + UUID-013 + + + UUID-014 + UUID-015 + + + + TestConfig + + + ru + TestConfig + + + + + Version8_3_24 + ManagedApplication + + PlatformApplication + + Russian + + + + + false + false + false + + + + + + + + + + + + + + + + + + + + + + Biometrics + true + + + Location + false + + + BackgroundLocation + false + + + BluetoothPrinters + false + + + WiFiPrinters + false + + + Contacts + false + + + Calendars + false + + + PushNotifications + false + + + LocalNotifications + false + + + InAppPurchases + false + + + PersonalComputerFileExchange + false + + + Ads + false + + + NumberDialing + false + + + CallProcessing + false + + + CallLog + false + + + AutoSendSMS + false + + + ReceiveSMS + false + + + SMSLog + false + + + Camera + false + + + Microphone + false + + + MusicLibrary + false + + + PictureAndVideoLibraries + false + + + AudioPlaybackAndVibration + false + + + BackgroundAudioPlaybackAndVibration + false + + + InstallPackages + false + + + OSBackup + true + + + ApplicationUsageStatistics + false + + + BarcodeScanning + false + + + BackgroundAudioRecording + false + + + AllFilesAccess + false + + + Videoconferences + false + + + NFC + false + + + DocumentScanning + false + + + SpeechToText + false + + + Geofences + false + + + IncomingShareRequests + false + + + AllIncomingShareRequestsTypesProcessing + false + + + + + + Normal + + + Language.Русский + + + + + + Managed + NotAutoFree + DontUse + DontUse + TaxiEnableVersion8_2 + DontUse + Version8_3_24 + + + + Русский + Тест + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест.xml b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест.xml new file mode 100644 index 00000000..0a165f6a --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест.xml @@ -0,0 +1,34 @@ + + + + + + UUID-002 + UUID-003 + + + UUID-004 + UUID-005 + + + + Тест + + + ru + Тест + + + + false + DataProcessor.Тест.Form.Форма + + false + + + + +
Форма
+
+
+
diff --git a/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Ext/ManagerModule.bsl b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Ext/ObjectModule.bsl b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Ext/ObjectModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Forms/Форма.xml b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Forms/Форма.xml new file mode 100644 index 00000000..dffeea01 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Forms/Форма.xml @@ -0,0 +1,22 @@ + + +
+ + Форма + + + ru + Форма + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + + +
+
\ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Forms/Форма/Ext/Form.xml new file mode 100644 index 00000000..a11fba9b --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Forms/Форма/Ext/Form.xml @@ -0,0 +1,57 @@ + +
+ + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Тест синонимов</v8:content> + </v8:item> + + + + + + + + + Поле + + + + + + + + + + + + + cfg:DataProcessorObject.Тест + + true + + + + xs:string + + 50 + Variable + + + + + + + Кн1 + + + Кн2 + + +
diff --git a/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Forms/Форма/Ext/Form/Module.bsl b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Forms/Форма/Ext/Form/Module.bsl new file mode 100644 index 00000000..8ead4cec --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/synonyms/DataProcessors/Тест/Forms/Форма/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/synonyms/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/synonyms/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/synonyms/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/synonyms/Languages/Русский.xml b/tests/skills/cases/form-compile/snapshots/synonyms/Languages/Русский.xml new file mode 100644 index 00000000..37c60d78 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/synonyms/Languages/Русский.xml @@ -0,0 +1,16 @@ + + + + + Русский + + + ru + Русский + + + + ru + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/snapshots/table/DataProcessors/Таблица/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-compile/snapshots/table/DataProcessors/Таблица/Forms/Форма/Ext/Form.xml index 8cffd9b3..3db1419e 100644 --- a/tests/skills/cases/form-compile/snapshots/table/DataProcessors/Таблица/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-compile/snapshots/table/DataProcessors/Таблица/Forms/Форма/Ext/Form.xml @@ -6,10 +6,7 @@ Просмотр данных - - Right - false - + Данные diff --git a/tests/skills/cases/form-compile/snapshots/table/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-compile/snapshots/table/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-compile/snapshots/table/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-compile/synonyms.json b/tests/skills/cases/form-compile/synonyms.json new file mode 100644 index 00000000..9cc7c469 --- /dev/null +++ b/tests/skills/cases/form-compile/synonyms.json @@ -0,0 +1,36 @@ +{ + "name": "Синонимы commandBar/autoCommandBar нормализуются молча", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": { "type": "DataProcessor", "name": "Тест" }, + "args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + }, + { + "script": "form-add/scripts/form-add", + "args": { "-ObjectPath": "{workDir}/DataProcessors/Тест.xml", "-FormName": "Форма" } + } + ], + "params": { "outputPath": "DataProcessors/Тест/Forms/Форма/Ext/Form.xml" }, + "validatePath": "DataProcessors/Тест/Forms/Форма/Ext/Form.xml", + "input": { + "title": "Тест синонимов", + "attributes": [ + { "name": "Объект", "type": "DataProcessorObject.Тест", "main": true }, + { "name": "Поле", "type": "string(50)" } + ], + "elements": [ + { "autoCommandBar": "ФормаКоманднаяПанель", "children": [ + { "button": "Кн1", "command": "Кн1" } + ]}, + { "input": "Поле", "path": "Поле" }, + { "commandBar": "ДопПанель", "children": [ + { "button": "Кн2", "command": "Кн2" } + ]} + ], + "commands": [ + { "name": "Кн1", "action": "Кн1" }, + { "name": "Кн2", "action": "Кн2" } + ] + } +} diff --git a/tests/skills/cases/form-edit/snapshots/add-attribute/DataProcessors/Реквизиты/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-edit/snapshots/add-attribute/DataProcessors/Реквизиты/Forms/Форма/Ext/Form.xml index 27422818..8662890e 100644 --- a/tests/skills/cases/form-edit/snapshots/add-attribute/DataProcessors/Реквизиты/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-edit/snapshots/add-attribute/DataProcessors/Реквизиты/Forms/Форма/Ext/Form.xml @@ -6,10 +6,7 @@ Реквизиты - - Right - false - + diff --git a/tests/skills/cases/form-edit/snapshots/add-attribute/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-edit/snapshots/add-attribute/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-edit/snapshots/add-attribute/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-edit/snapshots/add-command/DataProcessors/КомандыТест/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-edit/snapshots/add-command/DataProcessors/КомандыТест/Forms/Форма/Ext/Form.xml index 211cf302..879080c9 100644 --- a/tests/skills/cases/form-edit/snapshots/add-command/DataProcessors/КомандыТест/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-edit/snapshots/add-command/DataProcessors/КомандыТест/Forms/Форма/Ext/Form.xml @@ -6,10 +6,7 @@ Команды - - Right - false - +
Данные diff --git a/tests/skills/cases/form-validate/snapshots/table-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-validate/snapshots/table-form/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-validate/snapshots/table-form/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-validate/snapshots/valid-form/Catalogs/Товары/Forms/Форма/Ext/Form.xml b/tests/skills/cases/form-validate/snapshots/valid-form/Catalogs/Товары/Forms/Форма/Ext/Form.xml index 2472f091..48da627f 100644 --- a/tests/skills/cases/form-validate/snapshots/valid-form/Catalogs/Товары/Forms/Форма/Ext/Form.xml +++ b/tests/skills/cases/form-validate/snapshots/valid-form/Catalogs/Товары/Forms/Форма/Ext/Form.xml @@ -6,10 +6,7 @@ Тест - - Right - false - + diff --git a/tests/skills/cases/form-validate/snapshots/valid-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-validate/snapshots/valid-form/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/form-validate/snapshots/valid-form/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/help-add/snapshots/help-to-catalog/Ext/ClientApplicationInterface.xml b/tests/skills/cases/help-add/snapshots/help-to-catalog/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/help-add/snapshots/help-to-catalog/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/interface-edit/snapshots/basic/Ext/ClientApplicationInterface.xml b/tests/skills/cases/interface-edit/snapshots/basic/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/interface-edit/snapshots/basic/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/interface-edit/snapshots/hide-command/Ext/ClientApplicationInterface.xml b/tests/skills/cases/interface-edit/snapshots/hide-command/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/interface-edit/snapshots/hide-command/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/interface-edit/snapshots/show-command/Ext/ClientApplicationInterface.xml b/tests/skills/cases/interface-edit/snapshots/show-command/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/interface-edit/snapshots/show-command/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/interface-edit/snapshots/subsystem-order/Ext/ClientApplicationInterface.xml b/tests/skills/cases/interface-edit/snapshots/subsystem-order/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/interface-edit/snapshots/subsystem-order/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/interface-edit/snapshots/subsystem-order/Subsystems/Продажи/Subsystems/Оптовые.xml b/tests/skills/cases/interface-edit/snapshots/subsystem-order/Subsystems/Продажи/Subsystems/Оптовые.xml new file mode 100644 index 00000000..00f8020a --- /dev/null +++ b/tests/skills/cases/interface-edit/snapshots/subsystem-order/Subsystems/Продажи/Subsystems/Оптовые.xml @@ -0,0 +1,17 @@ + + + + + Оптовые + + + true + true + false + + + + + + + diff --git a/tests/skills/cases/interface-edit/snapshots/subsystem-order/Subsystems/Продажи/Subsystems/Розничные.xml b/tests/skills/cases/interface-edit/snapshots/subsystem-order/Subsystems/Продажи/Subsystems/Розничные.xml new file mode 100644 index 00000000..b41a7b0e --- /dev/null +++ b/tests/skills/cases/interface-edit/snapshots/subsystem-order/Subsystems/Продажи/Subsystems/Розничные.xml @@ -0,0 +1,17 @@ + + + + + Розничные + + + true + true + false + + + + + + + diff --git a/tests/skills/cases/interface-validate/snapshots/valid/Ext/ClientApplicationInterface.xml b/tests/skills/cases/interface-validate/snapshots/valid/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/interface-validate/snapshots/valid/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/interface-validate/snapshots/with-placement/Ext/ClientApplicationInterface.xml b/tests/skills/cases/interface-validate/snapshots/with-placement/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/interface-validate/snapshots/with-placement/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/accounting-register/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/accounting-register/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/accounting-register/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/accumulation-register/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/accumulation-register/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/accumulation-register/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/batch/Constants/ОсновнаяВалюта/Ext/ManagerModule.bsl b/tests/skills/cases/meta-compile/snapshots/batch/Constants/ОсновнаяВалюта/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/batch/Constants/ОсновнаяВалюта/Ext/ValueManagerModule.bsl b/tests/skills/cases/meta-compile/snapshots/batch/Constants/ОсновнаяВалюта/Ext/ValueManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/batch/Enums/Статусы/Ext/ManagerModule.bsl b/tests/skills/cases/meta-compile/snapshots/batch/Enums/Статусы/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/batch/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/batch/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/batch/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/business-process/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/business-process/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/business-process/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/calculation-register/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/calculation-register/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/calculation-register/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-basic/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/catalog-basic/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/catalog-basic/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-hierarchical/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/catalog-hierarchical/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/catalog-hierarchical/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-minimal/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/catalog-minimal/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/catalog-minimal/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-mixed-types/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/catalog-mixed-types/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/catalog-mixed-types/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/catalog-tabparts/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/catalog-tabparts/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/catalog-tabparts/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/chart-of-accounts/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/chart-of-accounts/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/chart-of-accounts/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/chart-of-calculation-types/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/chart-of-calculation-types/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/chart-of-calculation-types/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/chart-of-characteristic-types/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/chart-of-characteristic-types/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/chart-of-characteristic-types/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/common-module-client/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/common-module-client/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/common-module-client/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/common-module/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/common-module/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/common-module/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/constant/Constants/ОсновнаяВалюта/Ext/ManagerModule.bsl b/tests/skills/cases/meta-compile/snapshots/constant/Constants/ОсновнаяВалюта/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/constant/Constants/ОсновнаяВалюта/Ext/ValueManagerModule.bsl b/tests/skills/cases/meta-compile/snapshots/constant/Constants/ОсновнаяВалюта/Ext/ValueManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/constant/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/constant/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/constant/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/data-processor/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/data-processor/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/data-processor/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/defined-type/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/defined-type/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/defined-type/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/document-basic/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/document-basic/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/document-basic/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/document-journal/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/document-journal/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/document-journal/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/document-multiple-tabparts/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/document-multiple-tabparts/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/document-multiple-tabparts/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/enum/Enums/ВидыНоменклатуры/Ext/ManagerModule.bsl b/tests/skills/cases/meta-compile/snapshots/enum/Enums/ВидыНоменклатуры/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-compile/snapshots/enum/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/enum/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/enum/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/event-subscription/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/event-subscription/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/event-subscription/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/exchange-plan/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/exchange-plan/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/exchange-plan/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/http-service/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/http-service/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/http-service/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/information-register/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/information-register/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/information-register/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/report/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/report/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/report/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/scheduled-job/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/scheduled-job/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/scheduled-job/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/task/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/task/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/task/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-compile/snapshots/web-service/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-compile/snapshots/web-service/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-compile/snapshots/web-service/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-edit/snapshots/add-attribute/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-edit/snapshots/add-attribute/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/add-attribute/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-edit/snapshots/add-enum-values/Enums/Статусы/Ext/ManagerModule.bsl b/tests/skills/cases/meta-edit/snapshots/add-enum-values/Enums/Статусы/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-edit/snapshots/add-enum-values/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-edit/snapshots/add-enum-values/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/add-enum-values/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-edit/snapshots/add-tabpart/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-edit/snapshots/add-tabpart/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/add-tabpart/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-edit/snapshots/add-ts-attribute/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-edit/snapshots/add-ts-attribute/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/add-ts-attribute/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-edit/snapshots/combined-operations/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-edit/snapshots/combined-operations/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/combined-operations/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-edit/snapshots/modify-attribute/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-edit/snapshots/modify-attribute/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/modify-attribute/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-edit/snapshots/modify-property/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-edit/snapshots/modify-property/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/modify-property/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-edit/snapshots/remove-attribute/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-edit/snapshots/remove-attribute/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-edit/snapshots/remove-attribute/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-info/snapshots/catalog-brief/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-info/snapshots/catalog-brief/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-info/snapshots/catalog-brief/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-info/snapshots/catalog-full/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-info/snapshots/catalog-full/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-info/snapshots/catalog-full/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-info/snapshots/catalog-overview/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-info/snapshots/catalog-overview/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-info/snapshots/catalog-overview/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-info/snapshots/common-module-overview/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-info/snapshots/common-module-overview/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-info/snapshots/common-module-overview/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-info/snapshots/document-overview/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-info/snapshots/document-overview/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-info/snapshots/document-overview/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-info/snapshots/enum-overview/Enums/Статусы/Ext/ManagerModule.bsl b/tests/skills/cases/meta-info/snapshots/enum-overview/Enums/Статусы/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-info/snapshots/enum-overview/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-info/snapshots/enum-overview/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-info/snapshots/enum-overview/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-info/snapshots/info-register-overview/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-info/snapshots/info-register-overview/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-info/snapshots/info-register-overview/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-remove/snapshots/basic/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-remove/snapshots/basic/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-remove/snapshots/basic/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-remove/snapshots/dry-run/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-remove/snapshots/dry-run/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-remove/snapshots/dry-run/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-remove/snapshots/remove-common-module/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-remove/snapshots/remove-common-module/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-remove/snapshots/remove-common-module/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-remove/snapshots/remove-document/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-remove/snapshots/remove-document/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-remove/snapshots/remove-document/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-remove/snapshots/remove-enum/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-remove/snapshots/remove-enum/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-remove/snapshots/remove-enum/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/valid-catalog-detailed/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/snapshots/valid-catalog-detailed/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/valid-catalog-detailed/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/valid-catalog/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/snapshots/valid-catalog/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/valid-catalog/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/valid-common-module/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/snapshots/valid-common-module/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/valid-common-module/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/valid-constant/Constants/ОсновнаяВалюта/Ext/ManagerModule.bsl b/tests/skills/cases/meta-validate/snapshots/valid-constant/Constants/ОсновнаяВалюта/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-validate/snapshots/valid-constant/Constants/ОсновнаяВалюта/Ext/ValueManagerModule.bsl b/tests/skills/cases/meta-validate/snapshots/valid-constant/Constants/ОсновнаяВалюта/Ext/ValueManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-validate/snapshots/valid-constant/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/snapshots/valid-constant/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/valid-constant/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/valid-document/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/snapshots/valid-document/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/valid-document/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/valid-enum/Enums/Статусы/Ext/ManagerModule.bsl b/tests/skills/cases/meta-validate/snapshots/valid-enum/Enums/Статусы/Ext/ManagerModule.bsl new file mode 100644 index 00000000..e69de29b diff --git a/tests/skills/cases/meta-validate/snapshots/valid-enum/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/snapshots/valid-enum/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/valid-enum/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/meta-validate/snapshots/valid-info-register/Ext/ClientApplicationInterface.xml b/tests/skills/cases/meta-validate/snapshots/valid-info-register/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/meta-validate/snapshots/valid-info-register/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/basic-role/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/basic-role/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/basic-role/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/edit-preset/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/edit-preset/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/edit-preset/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/explicit-rights/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/explicit-rights/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/explicit-rights/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/minimal/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/minimal/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/minimal/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/russian-types/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/russian-types/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/russian-types/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/synonym-rights/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/synonym-rights/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/synonym-rights/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/view-preset/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/view-preset/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/view-preset/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-compile/snapshots/with-rls/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-compile/snapshots/with-rls/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-compile/snapshots/with-rls/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-info/snapshots/multiple-types/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-info/snapshots/multiple-types/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-info/snapshots/multiple-types/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-info/snapshots/overview/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-info/snapshots/overview/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-info/snapshots/overview/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-info/snapshots/with-rls/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-info/snapshots/with-rls/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-info/snapshots/with-rls/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-validate/snapshots/multiple-objects/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-validate/snapshots/multiple-objects/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-validate/snapshots/multiple-objects/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-validate/snapshots/valid-role/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-validate/snapshots/valid-role/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-validate/snapshots/valid-role/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/role-validate/snapshots/with-rls/Ext/ClientApplicationInterface.xml b/tests/skills/cases/role-validate/snapshots/with-rls/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/role-validate/snapshots/with-rls/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/skd-info/snapshots/object-only-full/Template.xml b/tests/skills/cases/skd-info/snapshots/object-only-full/Template.xml new file mode 100644 index 00000000..64b5f508 --- /dev/null +++ b/tests/skills/cases/skd-info/snapshots/object-only-full/Template.xml @@ -0,0 +1,70 @@ + + + + ИсточникДанных1 + Local + + + ВнешниеДанные + + ТекстСообщения + ТекстСообщения + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Текст сообщения</v8:content> + </v8:item> + + + xs:string + + 150 + Variable + + + + + Расшифровка + Расшифровка + + <v8:item> + <v8:lang>ru</v8:lang> + <v8:content>Описание</v8:content> + </v8:item> + + + d5p1:CatalogRef.Контрагенты + + + ИсточникДанных1 + ЖурналОшибок + + + Основной + + + ru + Основной + + + + + + + + + + + + + + + + diff --git a/tests/skills/cases/subsystem-compile/snapshots/basic/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-compile/snapshots/basic/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-compile/snapshots/basic/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-compile/snapshots/full/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-compile/snapshots/full/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-compile/snapshots/full/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-compile/snapshots/minimal/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-compile/snapshots/minimal/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-compile/snapshots/minimal/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-compile/snapshots/nested-parent/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-compile/snapshots/nested-parent/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-compile/snapshots/nested-parent/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-compile/snapshots/synonym-objects/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-compile/snapshots/synonym-objects/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-compile/snapshots/synonym-objects/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-compile/snapshots/with-children/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-compile/snapshots/with-children/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-compile/snapshots/with-children/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-compile/snapshots/with-ci-flag/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-compile/snapshots/with-ci-flag/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-compile/snapshots/with-ci-flag/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-compile/snapshots/with-content/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-compile/snapshots/with-content/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-compile/snapshots/with-content/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-edit/snapshots/add-child/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-edit/snapshots/add-child/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-edit/snapshots/add-child/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-edit/snapshots/add-content/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-edit/snapshots/add-content/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-edit/snapshots/add-content/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-edit/snapshots/remove-content/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-edit/snapshots/remove-content/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-edit/snapshots/remove-content/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-edit/snapshots/set-property/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-edit/snapshots/set-property/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-edit/snapshots/set-property/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-info/snapshots/content-mode/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-info/snapshots/content-mode/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-info/snapshots/content-mode/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-info/snapshots/overview/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-info/snapshots/overview/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-info/snapshots/overview/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-info/snapshots/tree-mode/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-info/snapshots/tree-mode/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-info/snapshots/tree-mode/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-info/snapshots/with-children/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-info/snapshots/with-children/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-info/snapshots/with-children/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-info/snapshots/with-children/Subsystems/Администрирование/Subsystems/Настройки.xml b/tests/skills/cases/subsystem-info/snapshots/with-children/Subsystems/Администрирование/Subsystems/Настройки.xml new file mode 100644 index 00000000..7f218906 --- /dev/null +++ b/tests/skills/cases/subsystem-info/snapshots/with-children/Subsystems/Администрирование/Subsystems/Настройки.xml @@ -0,0 +1,17 @@ + + + + + Настройки + + + true + true + false + + + + + + + diff --git a/tests/skills/cases/subsystem-info/snapshots/with-children/Subsystems/Администрирование/Subsystems/Пользователи.xml b/tests/skills/cases/subsystem-info/snapshots/with-children/Subsystems/Администрирование/Subsystems/Пользователи.xml new file mode 100644 index 00000000..cdbce883 --- /dev/null +++ b/tests/skills/cases/subsystem-info/snapshots/with-children/Subsystems/Администрирование/Subsystems/Пользователи.xml @@ -0,0 +1,17 @@ + + + + + Пользователи + + + true + true + false + + + + + + + diff --git a/tests/skills/cases/subsystem-validate/snapshots/valid/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-validate/snapshots/valid/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-validate/snapshots/valid/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-validate/snapshots/with-children/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-validate/snapshots/with-children/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-validate/snapshots/with-children/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/cases/subsystem-validate/snapshots/with-content/Ext/ClientApplicationInterface.xml b/tests/skills/cases/subsystem-validate/snapshots/with-content/Ext/ClientApplicationInterface.xml new file mode 100644 index 00000000..3c1161b2 --- /dev/null +++ b/tests/skills/cases/subsystem-validate/snapshots/with-content/Ext/ClientApplicationInterface.xml @@ -0,0 +1,18 @@ + + + + + UUID-002 + + + + + UUID-004 + + + + + + + + \ No newline at end of file diff --git a/tests/skills/verify-snapshots.mjs b/tests/skills/verify-snapshots.mjs index faf58ba6..89b420a7 100644 --- a/tests/skills/verify-snapshots.mjs +++ b/tests/skills/verify-snapshots.mjs @@ -406,10 +406,10 @@ async function verifyCase(skillName, caseName, skillConfig, caseData, opts) { let configDir = (setupType === 'empty-config' || isCfInit) ? workDir : null; try { - // ── Step 0: Case-level fixture copy (runner.mjs compatibility) ── - // A case may declare `"setup": "fixture:"` pointing to - // tests/skills/cases//fixtures/ — copy its contents into workDir - // so the skill script finds them at the expected relative path. + // ── Step 0: Case-level fixture/external setup (runner.mjs compatibility) ── + // A case may declare: + // "setup": "fixture:" — copy tests/skills/cases//fixtures/ + // "setup": "external:" — copy contents of an external dump (e.g. ERP/БП) if (typeof caseData.setup === 'string' && caseData.setup.startsWith('fixture:')) { const fixtureName = caseData.setup.slice('fixture:'.length); const fixturePath = join(CASES, skillName, 'fixtures', fixtureName); @@ -419,11 +419,23 @@ async function verifyCase(skillName, caseName, skillConfig, caseData, opts) { } cpSync(fixturePath, workDir, { recursive: true }); log(`fixture: ${fixtureName}`, true); + } else if (typeof caseData.setup === 'string' && caseData.setup.startsWith('external:')) { + const extPath = resolve(REPO_ROOT, caseData.setup.slice('external:'.length)); + if (!existsSync(extPath)) { + result.errors.push(`External setup path not found: ${extPath}`); + return result; + } + cpSync(extPath, workDir, { recursive: true }); + log(`external: ${extPath}`, true); + configDir = workDir; } // ── Step 1: Setup (cf-init for empty-config, nothing for 'none') ── + // Skip cf-init if external/fixture setup already provided a complete config + const caseProvidedConfig = typeof caseData.setup === 'string' && + (caseData.setup.startsWith('external:') || caseData.setup.startsWith('fixture:')); // Skip setup for cf-init skill — the test itself creates the config - if (configDir && setupType === 'empty-config' && !CONFIG_INIT_SKILLS.has(skillName)) { + if (configDir && setupType === 'empty-config' && !CONFIG_INIT_SKILLS.has(skillName) && !caseProvidedConfig) { try { execSkill(opts.runtime, 'cf-init/scripts/cf-init', ['-Name', 'VerifyTest', '-OutputDir', workDir]); log('cf-init', true); @@ -834,7 +846,8 @@ async function verifyCase(skillName, caseName, skillConfig, caseData, opts) { } // ── Step 6: Auto-detect and register objects in ChildObjects ── - const allObjects = scanConfigObjects(configDir); + // Skip when config came from external/fixture setup — it's already complete. + const allObjects = caseProvidedConfig ? [] : scanConfigObjects(configDir); const cfEditOps = []; for (const obj of allObjects) { const prefix = TYPE_TO_PREFIX[obj.type]; @@ -855,6 +868,16 @@ async function verifyCase(skillName, caseName, skillConfig, caseData, opts) { } // ── Step 7: Platform load ── + // Skip platform load for external dumps (e.g. real ERP/БП configs): + // they're huge, version-sensitive, and the point of these test cases is + // to exercise the skill script against real-world XML, not to validate + // that an entire vendor config loads into a fresh DB. + if (caseProvidedConfig && caseData.setup.startsWith('external:')) { + result.passed = true; + log('platform-load', true, 'skipped (external setup)'); + return result; + } + const dbDir = join(workDir, 'testdb'); try {