From 53fc16d2f1d72dc30ce916fbb2333bf5c5a55de8 Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Fri, 21 Aug 2026 12:55:30 +0300 Subject: [PATCH] =?UTF-8?q?fix(form-add):=20=D0=B2=D0=B8=D0=B4=20=D0=BE?= =?UTF-8?q?=D0=B1=D1=8A=D0=B5=D0=BA=D1=82=D0=B0=20=D0=B1=D0=B5=D1=80=D1=91?= =?UTF-8?q?=D0=BC=20=D0=B8=D0=B7=20=D1=81=D1=82=D1=80=D1=83=D0=BA=D1=82?= =?UTF-8?q?=D1=83=D1=80=D1=8B=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B0,=20=D0=B0=20=D0=BD=D0=B5=20=D0=BF=D0=BE=D0=B8?= =?UTF-8?q?=D1=81=D0=BA=D0=BE=D0=BC=20=D0=BF=D0=BE=20=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Вид искался как первое совпадение //md:<Вид> по всему файлу и потому зависел от порядка перебора видов. У бизнес-процесса есть свойство , и объект определялся как задача, после чего имя не находилось вовсе: «Не удалось определить имя объекта из Properties/Name». Прежний упорядоченный список видов это маскировал — в нём BusinessProcess стоял раньше Task. Теперь вид — первый элемент-потомок MetaDataObject, и неподдерживаемый вид отвергается по имени, а не проваливается в поиск имени объекта. Нашлось платформенной проверкой всех видов разом: собрана конфигурация с формой каждого поддержанного вида (15 видов, 43 формы) и загружена в 1С. Заодно покрытие назначений доведено до полного (добавились FolderChoice, Load, Record), а мелкие кейсы на один объект объединены: несколько назначений в одном кейсе, эталон показывает все слоты сразу. Гард дополнен инвариантом «ровно одна основная форма на вид» и его паритетом между портами — именно им пользуется умолчание -Purpose. Инструкция: в таблице параметров умолчание Purpose исправлено с Object на основную форму вида. Co-Authored-By: Claude Opus 5 --- .claude/skills/form-add/SKILL.md | 2 +- .claude/skills/form-add/scripts/form-add.ps1 | 17 +- .claude/skills/form-add/scripts/form-add.py | 17 +- .../cases/form-add/catalog-custom-form.json | 28 -- .../catalog-folder-and-custom-forms.json | 47 ++++ .../cases/form-add/catalog-folder-form.json | 28 -- ...m.json => information-register-forms.json} | 14 +- .../form-add/settings-storage-forms.json | 36 +++ .../form-add/settings-storage-save-form.json | 28 -- .../Catalogs/ТоварыТест.xml | 93 ------- .../Catalogs/ТоварыТест.xml | 4 +- .../Catalogs/ТоварыТест/Ext/ObjectModule.bsl | 0 .../ТоварыТест/Forms/ПроизвольнаяФорма.xml | 0 .../Forms/ПроизвольнаяФорма/Ext/Form.xml | 0 .../ПроизвольнаяФорма/Ext/Form/Module.bsl | 0 .../ТоварыТест/Forms/ФормаВыбораГруппы.xml | 21 ++ .../Forms/ФормаВыбораГруппы/Ext/Form.xml | 18 ++ .../ФормаВыбораГруппы}/Ext/Form/Module.bsl | 0 .../Catalogs/ТоварыТест/Forms/ФормаГруппы.xml | 0 .../ТоварыТест/Forms/ФормаГруппы/Ext/Form.xml | 0 .../Forms/ФормаГруппы}/Ext/Form/Module.bsl | 0 .../Configuration.xml | 0 .../Ext/ClientApplicationInterface.xml | 0 .../Languages/Русский.xml | 0 .../Catalogs/ТоварыТест/Ext/ObjectModule.bsl | 0 .../catalog-folder-form/Configuration.xml | 252 ------------------ .../Configuration.xml | 0 .../Ext/ClientApplicationInterface.xml | 0 .../InformationRegisters/ЦеныТест.xml | 3 +- .../ЦеныТест/Ext/RecordSetModule.bsl | 0 .../ЦеныТест/Forms/ФормаЗаписи.xml} | 15 +- .../ЦеныТест/Forms/ФормаЗаписи/Ext/Form.xml | 16 ++ .../Forms/ФормаЗаписи}/Ext/Form/Module.bsl | 0 .../ЦеныТест/Forms/ФормаНабора.xml | 0 .../ЦеныТест/Forms/ФормаНабора/Ext/Form.xml | 0 .../Forms/ФормаНабора/Ext/Form/Module.bsl | 19 ++ .../Languages/Русский.xml | 0 .../Configuration.xml | 0 .../Ext/ClientApplicationInterface.xml | 0 .../Languages/Русский.xml | 0 .../SettingsStorages/ХранилищеТест.xml | 3 +- .../ХранилищеТест/Forms/ФормаЗагрузки.xml | 21 ++ .../Forms/ФормаЗагрузки}/Ext/Form.xml | 0 .../Forms/ФормаЗагрузки/Ext/Form/Module.bsl | 19 ++ .../ХранилищеТест/Forms/ФормаСохранения.xml | 0 .../Forms/ФормаСохранения/Ext/Form.xml | 7 + .../Forms/ФормаСохранения/Ext/Form/Module.bsl | 19 ++ .../Ext/ClientApplicationInterface.xml | 18 -- tests/skills/check-form-purposes.mjs | 21 +- 49 files changed, 294 insertions(+), 472 deletions(-) delete mode 100644 tests/skills/cases/form-add/catalog-custom-form.json create mode 100644 tests/skills/cases/form-add/catalog-folder-and-custom-forms.json delete mode 100644 tests/skills/cases/form-add/catalog-folder-form.json rename tests/skills/cases/form-add/{information-register-recordset-form.json => information-register-forms.json} (59%) create mode 100644 tests/skills/cases/form-add/settings-storage-forms.json delete mode 100644 tests/skills/cases/form-add/settings-storage-save-form.json delete mode 100644 tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест.xml rename tests/skills/cases/form-add/snapshots/{catalog-folder-form => catalog-folder-and-custom-forms}/Catalogs/ТоварыТест.xml (95%) rename tests/skills/cases/form-add/snapshots/{catalog-custom-form => catalog-folder-and-custom-forms}/Catalogs/ТоварыТест/Ext/ObjectModule.bsl (100%) rename tests/skills/cases/form-add/snapshots/{catalog-custom-form => catalog-folder-and-custom-forms}/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма.xml (100%) rename tests/skills/cases/form-add/snapshots/{catalog-custom-form => catalog-folder-and-custom-forms}/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form.xml (100%) rename tests/skills/cases/form-add/snapshots/{catalog-custom-form => catalog-folder-and-custom-forms}/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form/Module.bsl (100%) create mode 100644 tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы.xml create mode 100644 tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы/Ext/Form.xml rename tests/skills/cases/form-add/snapshots/{catalog-folder-form/Catalogs/ТоварыТест/Forms/ФормаГруппы => catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы}/Ext/Form/Module.bsl (100%) rename tests/skills/cases/form-add/snapshots/{catalog-folder-form => catalog-folder-and-custom-forms}/Catalogs/ТоварыТест/Forms/ФормаГруппы.xml (100%) rename tests/skills/cases/form-add/snapshots/{catalog-folder-form => catalog-folder-and-custom-forms}/Catalogs/ТоварыТест/Forms/ФормаГруппы/Ext/Form.xml (100%) rename tests/skills/cases/form-add/snapshots/{information-register-recordset-form/InformationRegisters/ЦеныТест/Forms/ФормаНабора => catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаГруппы}/Ext/Form/Module.bsl (100%) rename tests/skills/cases/form-add/snapshots/{catalog-custom-form => catalog-folder-and-custom-forms}/Configuration.xml (100%) rename tests/skills/cases/form-add/snapshots/{catalog-custom-form => catalog-folder-and-custom-forms}/Ext/ClientApplicationInterface.xml (100%) rename tests/skills/cases/form-add/snapshots/{catalog-custom-form => catalog-folder-and-custom-forms}/Languages/Русский.xml (100%) delete mode 100644 tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест/Ext/ObjectModule.bsl delete mode 100644 tests/skills/cases/form-add/snapshots/catalog-folder-form/Configuration.xml rename tests/skills/cases/form-add/snapshots/{information-register-recordset-form => information-register-forms}/Configuration.xml (100%) rename tests/skills/cases/form-add/snapshots/{catalog-folder-form => information-register-forms}/Ext/ClientApplicationInterface.xml (100%) rename tests/skills/cases/form-add/snapshots/{information-register-recordset-form => information-register-forms}/InformationRegisters/ЦеныТест.xml (98%) rename tests/skills/cases/form-add/snapshots/{information-register-recordset-form => information-register-forms}/InformationRegisters/ЦеныТест/Ext/RecordSetModule.bsl (100%) rename tests/skills/cases/form-add/snapshots/{settings-storage-save-form/Languages/Русский.xml => information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи.xml} (71%) create mode 100644 tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи/Ext/Form.xml rename tests/skills/cases/form-add/snapshots/{settings-storage-save-form/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения => information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи}/Ext/Form/Module.bsl (100%) rename tests/skills/cases/form-add/snapshots/{information-register-recordset-form => information-register-forms}/InformationRegisters/ЦеныТест/Forms/ФормаНабора.xml (100%) rename tests/skills/cases/form-add/snapshots/{information-register-recordset-form => information-register-forms}/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form.xml (100%) create mode 100644 tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form/Module.bsl rename tests/skills/cases/form-add/snapshots/{catalog-folder-form => information-register-forms}/Languages/Русский.xml (100%) rename tests/skills/cases/form-add/snapshots/{settings-storage-save-form => settings-storage-forms}/Configuration.xml (100%) rename tests/skills/cases/form-add/snapshots/{information-register-recordset-form => settings-storage-forms}/Ext/ClientApplicationInterface.xml (100%) rename tests/skills/cases/form-add/snapshots/{information-register-recordset-form => settings-storage-forms}/Languages/Русский.xml (100%) rename tests/skills/cases/form-add/snapshots/{settings-storage-save-form => settings-storage-forms}/SettingsStorages/ХранилищеТест.xml (91%) create mode 100644 tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки.xml rename tests/skills/cases/form-add/snapshots/{settings-storage-save-form/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения => settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки}/Ext/Form.xml (100%) create mode 100644 tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки/Ext/Form/Module.bsl rename tests/skills/cases/form-add/snapshots/{settings-storage-save-form => settings-storage-forms}/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения.xml (100%) create mode 100644 tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form.xml create mode 100644 tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form/Module.bsl delete mode 100644 tests/skills/cases/form-add/snapshots/settings-storage-save-form/Ext/ClientApplicationInterface.xml diff --git a/.claude/skills/form-add/SKILL.md b/.claude/skills/form-add/SKILL.md index f470e9568..c050dd747 100644 --- a/.claude/skills/form-add/SKILL.md +++ b/.claude/skills/form-add/SKILL.md @@ -25,7 +25,7 @@ allowed-tools: |-------------|:------------:|--------------|----------------------------------------------| | ObjectPath | да | — | Путь к XML-файлу объекта (Documents/Док.xml) | | FormName | да | — | Имя формы (ФормаДокумента) | -| Purpose | нет | Object | Назначение формы — см. таблицу ниже | +| Purpose | нет | основная форма вида | Назначение формы — см. таблицу ниже: у справочника это форма объекта, у регистра сведений — форма записи, у журнала — форма списка | | Synonym | нет | = FormName | Синоним формы | | --set-default | нет | авто | Сделать основной. Без флага основной становится первая форма каждого назначения | diff --git a/.claude/skills/form-add/scripts/form-add.ps1 b/.claude/skills/form-add/scripts/form-add.ps1 index 87df6da61..e19d079ae 100644 --- a/.claude/skills/form-add/scripts/form-add.ps1 +++ b/.claude/skills/form-add/scripts/form-add.ps1 @@ -379,17 +379,24 @@ $supportedTypes = @($formKinds.Keys) + @($noOwnForms.Keys) # формы есть . $processorLikeTypes = @("DataProcessor", "Report", "ExternalDataProcessor", "ExternalReport") +# Вид объекта — первый элемент-потомок MetaDataObject, а не первое совпавшее по всему документу +# имя. Поиск по документу зависел от порядка перебора видов: у бизнес-процесса есть свойство +# , и он определялся как задача, после чего имя объекта не находилось вовсе. $objectType = $null $objectNode = $null -foreach ($t in $supportedTypes) { - $node = $xmlDoc.SelectSingleNode("//md:$t", $nsMgr) - if ($node) { - $objectType = $t - $objectNode = $node +foreach ($child in $metaDataObject.ChildNodes) { + if ($child.NodeType -eq [System.Xml.XmlNodeType]::Element) { + $objectType = $child.LocalName + $objectNode = $child break } } +if ($objectType -and -not ($formKinds.ContainsKey($objectType) -or $noOwnForms.ContainsKey($objectType))) { + Write-Error "Тип объекта '$objectType' не поддерживается. Поддерживаемые типы: $(($formKinds.Keys | Sort-Object) -join ', ')" + exit 1 +} + if (-not $objectType) { Write-Error "Не удалось определить тип объекта. Поддерживаемые типы: $(($formKinds.Keys | Sort-Object) -join ', ')" exit 1 diff --git a/.claude/skills/form-add/scripts/form-add.py b/.claude/skills/form-add/scripts/form-add.py index 4b3806fa1..727a00d28 100644 --- a/.claude/skills/form-add/scripts/form-add.py +++ b/.claude/skills/form-add/scripts/form-add.py @@ -569,15 +569,22 @@ def main(): # метаданных формы есть . processor_like_types = ["DataProcessor", "Report", "ExternalDataProcessor", "ExternalReport"] + # Вид объекта — первый элемент-потомок MetaDataObject, а не первое совпавшее по всему + # документу имя. Поиск по документу зависел от порядка перебора видов: у бизнес-процесса + # есть свойство , и он определялся как задача, после чего имя объекта не находилось. object_type = None object_node = None - for t in supported_types: - node = root.find(f".//md:{t}", NSMAP) - if node is not None: - object_type = t - object_node = node + for child in root: + if isinstance(child.tag, str): + object_type = etree.QName(child).localname + object_node = child break + if object_type is not None and object_type not in form_kinds and object_type not in no_own_forms: + print(f"Тип объекта '{object_type}' не поддерживается. " + f"Поддерживаемые типы: {', '.join(sorted(form_kinds))}", file=sys.stderr) + sys.exit(1) + if object_type is None: print(f"Не удалось определить тип объекта. Поддерживаемые типы: {', '.join(sorted(form_kinds))}", file=sys.stderr) diff --git a/tests/skills/cases/form-add/catalog-custom-form.json b/tests/skills/cases/form-add/catalog-custom-form.json deleted file mode 100644 index c7c1733bf..000000000 --- a/tests/skills/cases/form-add/catalog-custom-form.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "Произвольная форма: без главного реквизита и без назначения основной", - "preRun": [ - { - "script": "meta-compile/scripts/meta-compile", - "input": { - "type": "Catalog", - "name": "ТоварыТест" - }, - "args": { - "-JsonPath": "{inputFile}", - "-OutputDir": "{workDir}" - } - } - ], - "params": { - "objectPath": "Catalogs/ТоварыТест.xml", - "formName": "ПроизвольнаяФорма" - }, - "args_extra": [ - "-Purpose", - "Custom" - ], - "validatePath": "Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма", - "expect": { - "stdoutContains": "Основной не назначена" - } -} diff --git a/tests/skills/cases/form-add/catalog-folder-and-custom-forms.json b/tests/skills/cases/form-add/catalog-folder-and-custom-forms.json new file mode 100644 index 000000000..7ecdff1a2 --- /dev/null +++ b/tests/skills/cases/form-add/catalog-folder-and-custom-forms.json @@ -0,0 +1,47 @@ +{ + "name": "Справочник: форма группы, форма выбора группы и произвольная форма", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": { + "type": "Catalog", + "name": "ТоварыТест", + "properties": { + "Hierarchical": true + } + }, + "args": { + "-JsonPath": "{inputFile}", + "-OutputDir": "{workDir}" + } + }, + { + "script": "form-add/scripts/form-add", + "args": { + "-ObjectPath": "{workDir}/Catalogs/ТоварыТест.xml", + "-FormName": "ФормаГруппы", + "-Purpose": "Folder" + } + }, + { + "script": "form-add/scripts/form-add", + "args": { + "-ObjectPath": "{workDir}/Catalogs/ТоварыТест.xml", + "-FormName": "ФормаВыбораГруппы", + "-Purpose": "FolderChoice" + } + } + ], + "params": { + "objectPath": "Catalogs/ТоварыТест.xml", + "formName": "ПроизвольнаяФорма" + }, + "args_extra": [ + "-Purpose", + "Custom" + ], + "validatePath": "Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма", + "expect": { + "stdoutContains": "Основной не назначена" + } +} diff --git a/tests/skills/cases/form-add/catalog-folder-form.json b/tests/skills/cases/form-add/catalog-folder-form.json deleted file mode 100644 index 66363149d..000000000 --- a/tests/skills/cases/form-add/catalog-folder-form.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "Форма группы справочника: главный реквизит CatalogObject, свойство DefaultFolderForm", - "preRun": [ - { - "script": "meta-compile/scripts/meta-compile", - "input": { - "type": "Catalog", - "name": "ТоварыТест" - }, - "args": { - "-JsonPath": "{inputFile}", - "-OutputDir": "{workDir}" - } - } - ], - "params": { - "objectPath": "Catalogs/ТоварыТест.xml", - "formName": "ФормаГруппы" - }, - "args_extra": [ - "-Purpose", - "Folder" - ], - "validatePath": "Catalogs/ТоварыТест/Forms/ФормаГруппы", - "expect": { - "stdoutContains": "DefaultFolderForm: Catalog.ТоварыТест.Form.ФормаГруппы" - } -} diff --git a/tests/skills/cases/form-add/information-register-recordset-form.json b/tests/skills/cases/form-add/information-register-forms.json similarity index 59% rename from tests/skills/cases/form-add/information-register-recordset-form.json rename to tests/skills/cases/form-add/information-register-forms.json index 7d0e428c8..831e4de54 100644 --- a/tests/skills/cases/form-add/information-register-recordset-form.json +++ b/tests/skills/cases/form-add/information-register-forms.json @@ -1,5 +1,5 @@ { - "name": "Форма набора записей регистра сведений", + "name": "Регистр сведений: форма записи (умолчание вида) и форма набора записей", "preRun": [ { "script": "meta-compile/scripts/meta-compile", @@ -17,6 +17,13 @@ "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" } + }, + { + "script": "form-add/scripts/form-add", + "args": { + "-ObjectPath": "{workDir}/InformationRegisters/ЦеныТест.xml", + "-FormName": "ФормаЗаписи" + } } ], "params": { @@ -27,5 +34,8 @@ "-Purpose", "RecordSet" ], - "validatePath": "InformationRegisters/ЦеныТест/Forms/ФормаНабора" + "validatePath": "InformationRegisters/ЦеныТест/Forms/ФормаНабора", + "expect": { + "stdoutContains": "Основной не назначена" + } } diff --git a/tests/skills/cases/form-add/settings-storage-forms.json b/tests/skills/cases/form-add/settings-storage-forms.json new file mode 100644 index 000000000..ccf407c2e --- /dev/null +++ b/tests/skills/cases/form-add/settings-storage-forms.json @@ -0,0 +1,36 @@ +{ + "name": "Хранилище настроек: формы сохранения и загрузки", + "preRun": [ + { + "script": "meta-compile/scripts/meta-compile", + "input": { + "type": "SettingsStorage", + "name": "ХранилищеТест" + }, + "args": { + "-JsonPath": "{inputFile}", + "-OutputDir": "{workDir}" + } + }, + { + "script": "form-add/scripts/form-add", + "args": { + "-ObjectPath": "{workDir}/SettingsStorages/ХранилищеТест.xml", + "-FormName": "ФормаСохранения", + "-Purpose": "Save" + } + } + ], + "params": { + "objectPath": "SettingsStorages/ХранилищеТест.xml", + "formName": "ФормаЗагрузки" + }, + "args_extra": [ + "-Purpose", + "Load" + ], + "validatePath": "SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки", + "expect": { + "stdoutContains": "DefaultLoadForm: SettingsStorage.ХранилищеТест.Form.ФормаЗагрузки" + } +} diff --git a/tests/skills/cases/form-add/settings-storage-save-form.json b/tests/skills/cases/form-add/settings-storage-save-form.json deleted file mode 100644 index 5fe54f772..000000000 --- a/tests/skills/cases/form-add/settings-storage-save-form.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "name": "Форма сохранения настроек хранилища", - "preRun": [ - { - "script": "meta-compile/scripts/meta-compile", - "input": { - "type": "SettingsStorage", - "name": "ХранилищеТест" - }, - "args": { - "-JsonPath": "{inputFile}", - "-OutputDir": "{workDir}" - } - } - ], - "params": { - "objectPath": "SettingsStorages/ХранилищеТест.xml", - "formName": "ФормаСохранения" - }, - "args_extra": [ - "-Purpose", - "Save" - ], - "validatePath": "SettingsStorages/ХранилищеТест/Forms/ФормаСохранения", - "expect": { - "stdoutContains": "DefaultSaveForm: SettingsStorage.ХранилищеТест.Form.ФормаСохранения" - } -} diff --git a/tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест.xml b/tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест.xml deleted file mode 100644 index ca575b1b1..000000000 --- a/tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест.xml +++ /dev/null @@ -1,93 +0,0 @@ - - - - - - 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 - - Auto - InDialog - false - BothWays - - Catalog.ТоварыТест.StandardAttribute.Description - Catalog.ТоварыТест.StandardAttribute.Code - - Begin - DontUse - Directly - - - - - - - - - - - false - - - Managed - Use - - - - - - Use - Auto - DontUse - false - false - - -
ПроизвольнаяФорма
-
-
-
\ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест.xml similarity index 95% rename from tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест.xml rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест.xml index 8a1655dcd..86e13284b 100644 --- a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест.xml +++ b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест.xml @@ -64,7 +64,7 @@ Catalog.ТоварыТест.Form.ФормаГруппы - + Catalog.ТоварыТест.Form.ФормаВыбораГруппы @@ -88,6 +88,8 @@
ФормаГруппы
+
ФормаВыбораГруппы
+
ПроизвольнаяФорма
\ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест/Ext/ObjectModule.bsl b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Ext/ObjectModule.bsl similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест/Ext/ObjectModule.bsl rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Ext/ObjectModule.bsl diff --git a/tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма.xml rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма.xml diff --git a/tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form.xml rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form.xml diff --git a/tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form/Module.bsl b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form/Module.bsl similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-custom-form/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form/Module.bsl rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ПроизвольнаяФорма/Ext/Form/Module.bsl diff --git a/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы.xml new file mode 100644 index 000000000..ac866bb62 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/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-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы/Ext/Form.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы/Ext/Form.xml new file mode 100644 index 000000000..0634ed91f --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы/Ext/Form.xml @@ -0,0 +1,18 @@ + +
+ + true + + + + + + cfg:DynamicList + + true + + Catalog.ТоварыТест + + + + \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест/Forms/ФормаГруппы/Ext/Form/Module.bsl b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы/Ext/Form/Module.bsl similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест/Forms/ФормаГруппы/Ext/Form/Module.bsl rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаВыбораГруппы/Ext/Form/Module.bsl diff --git a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест/Forms/ФормаГруппы.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаГруппы.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест/Forms/ФормаГруппы.xml rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаГруппы.xml diff --git a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест/Forms/ФормаГруппы/Ext/Form.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаГруппы/Ext/Form.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест/Forms/ФормаГруппы/Ext/Form.xml rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаГруппы/Ext/Form.xml diff --git a/tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form/Module.bsl b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаГруппы/Ext/Form/Module.bsl similarity index 100% rename from tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form/Module.bsl rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Catalogs/ТоварыТест/Forms/ФормаГруппы/Ext/Form/Module.bsl diff --git a/tests/skills/cases/form-add/snapshots/catalog-custom-form/Configuration.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Configuration.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-custom-form/Configuration.xml rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Configuration.xml diff --git a/tests/skills/cases/form-add/snapshots/catalog-custom-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Ext/ClientApplicationInterface.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-custom-form/Ext/ClientApplicationInterface.xml rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Ext/ClientApplicationInterface.xml diff --git a/tests/skills/cases/form-add/snapshots/catalog-custom-form/Languages/Русский.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Languages/Русский.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-custom-form/Languages/Русский.xml rename to tests/skills/cases/form-add/snapshots/catalog-folder-and-custom-forms/Languages/Русский.xml diff --git a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест/Ext/ObjectModule.bsl b/tests/skills/cases/form-add/snapshots/catalog-folder-form/Catalogs/ТоварыТест/Ext/ObjectModule.bsl deleted file mode 100644 index e69de29bb..000000000 diff --git a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Configuration.xml b/tests/skills/cases/form-add/snapshots/catalog-folder-form/Configuration.xml deleted file mode 100644 index 2bbc2f43a..000000000 --- a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Configuration.xml +++ /dev/null @@ -1,252 +0,0 @@ - - - - - - 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-add/snapshots/information-register-recordset-form/Configuration.xml b/tests/skills/cases/form-add/snapshots/information-register-forms/Configuration.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/information-register-recordset-form/Configuration.xml rename to tests/skills/cases/form-add/snapshots/information-register-forms/Configuration.xml diff --git a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-add/snapshots/information-register-forms/Ext/ClientApplicationInterface.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-folder-form/Ext/ClientApplicationInterface.xml rename to tests/skills/cases/form-add/snapshots/information-register-forms/Ext/ClientApplicationInterface.xml diff --git a/tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест.xml b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест.xml similarity index 98% rename from tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест.xml rename to tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест.xml index 4773601b8..1b446ca49 100644 --- a/tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест.xml +++ b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест.xml @@ -42,7 +42,7 @@ true InDialog - + InformationRegister.ЦеныТест.Form.ФормаЗаписи @@ -260,6 +260,7 @@ Use +
ФормаЗаписи
ФормаНабора
diff --git a/tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест/Ext/RecordSetModule.bsl b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Ext/RecordSetModule.bsl similarity index 100% rename from tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест/Ext/RecordSetModule.bsl rename to tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Ext/RecordSetModule.bsl diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/Languages/Русский.xml b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи.xml similarity index 71% rename from tests/skills/cases/form-add/snapshots/settings-storage-save-form/Languages/Русский.xml rename to tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи.xml index 37c60d786..94bc565e0 100644 --- a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/Languages/Русский.xml +++ b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи.xml @@ -1,16 +1,21 @@ - +
- Русский + ФормаЗаписи ru - Русский + ФормаЗаписи - ru + Managed + false + + PlatformApplication + MobilePlatformApplication + - +
\ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи/Ext/Form.xml b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи/Ext/Form.xml new file mode 100644 index 000000000..9bc5b6b90 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи/Ext/Form.xml @@ -0,0 +1,16 @@ + +
+ + true + + + + + + cfg:InformationRegisterRecordManager.ЦеныТест + + true + true + + + \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form/Module.bsl b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи/Ext/Form/Module.bsl similarity index 100% rename from tests/skills/cases/form-add/snapshots/settings-storage-save-form/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form/Module.bsl rename to tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаЗаписи/Ext/Form/Module.bsl diff --git a/tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест/Forms/ФормаНабора.xml b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаНабора.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест/Forms/ФормаНабора.xml rename to tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаНабора.xml diff --git a/tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form.xml b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/information-register-recordset-form/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form.xml rename to tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form.xml diff --git a/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form/Module.bsl b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form/Module.bsl new file mode 100644 index 000000000..8ead4cec0 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/information-register-forms/InformationRegisters/ЦеныТест/Forms/ФормаНабора/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/catalog-folder-form/Languages/Русский.xml b/tests/skills/cases/form-add/snapshots/information-register-forms/Languages/Русский.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/catalog-folder-form/Languages/Русский.xml rename to tests/skills/cases/form-add/snapshots/information-register-forms/Languages/Русский.xml diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/Configuration.xml b/tests/skills/cases/form-add/snapshots/settings-storage-forms/Configuration.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/settings-storage-save-form/Configuration.xml rename to tests/skills/cases/form-add/snapshots/settings-storage-forms/Configuration.xml diff --git a/tests/skills/cases/form-add/snapshots/information-register-recordset-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-add/snapshots/settings-storage-forms/Ext/ClientApplicationInterface.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/information-register-recordset-form/Ext/ClientApplicationInterface.xml rename to tests/skills/cases/form-add/snapshots/settings-storage-forms/Ext/ClientApplicationInterface.xml diff --git a/tests/skills/cases/form-add/snapshots/information-register-recordset-form/Languages/Русский.xml b/tests/skills/cases/form-add/snapshots/settings-storage-forms/Languages/Русский.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/information-register-recordset-form/Languages/Русский.xml rename to tests/skills/cases/form-add/snapshots/settings-storage-forms/Languages/Русский.xml diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/SettingsStorages/ХранилищеТест.xml b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест.xml similarity index 91% rename from tests/skills/cases/form-add/snapshots/settings-storage-save-form/SettingsStorages/ХранилищеТест.xml rename to tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест.xml index 11340f9c8..285201177 100644 --- a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/SettingsStorages/ХранилищеТест.xml +++ b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест.xml @@ -17,12 +17,13 @@ SettingsStorage.ХранилищеТест.Form.ФормаСохранения - + SettingsStorage.ХранилищеТест.Form.ФормаЗагрузки
ФормаСохранения
+
ФормаЗагрузки
\ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки.xml b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки.xml new file mode 100644 index 000000000..2684fe720 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки.xml @@ -0,0 +1,21 @@ + + +
+ + ФормаЗагрузки + + + ru + ФормаЗагрузки + + + + Managed + false + + PlatformApplication + MobilePlatformApplication + + +
+
\ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form.xml b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки/Ext/Form.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/settings-storage-save-form/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form.xml rename to tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки/Ext/Form.xml diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки/Ext/Form/Module.bsl b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки/Ext/Form/Module.bsl new file mode 100644 index 000000000..8ead4cec0 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаЗагрузки/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения.xml b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения.xml similarity index 100% rename from tests/skills/cases/form-add/snapshots/settings-storage-save-form/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения.xml rename to tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения.xml diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form.xml b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form.xml new file mode 100644 index 000000000..189f84368 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form.xml @@ -0,0 +1,7 @@ + +
+ + true + + + \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form/Module.bsl b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form/Module.bsl new file mode 100644 index 000000000..8ead4cec0 --- /dev/null +++ b/tests/skills/cases/form-add/snapshots/settings-storage-forms/SettingsStorages/ХранилищеТест/Forms/ФормаСохранения/Ext/Form/Module.bsl @@ -0,0 +1,19 @@ +#Область ОбработчикиСобытийФормы + +#КонецОбласти + +#Область ОбработчикиСобытийЭлементовФормы + +#КонецОбласти + +#Область ОбработчикиКомандФормы + +#КонецОбласти + +#Область ОбработчикиОповещений + +#КонецОбласти + +#Область СлужебныеПроцедурыИФункции + +#КонецОбласти \ No newline at end of file diff --git a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/Ext/ClientApplicationInterface.xml b/tests/skills/cases/form-add/snapshots/settings-storage-save-form/Ext/ClientApplicationInterface.xml deleted file mode 100644 index 3c1161b2d..000000000 --- a/tests/skills/cases/form-add/snapshots/settings-storage-save-form/Ext/ClientApplicationInterface.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - UUID-002 - - - - - UUID-004 - - - - - - - - \ No newline at end of file diff --git a/tests/skills/check-form-purposes.mjs b/tests/skills/check-form-purposes.mjs index 671febed0..2722cdd02 100644 --- a/tests/skills/check-form-purposes.mjs +++ b/tests/skills/check-form-purposes.mjs @@ -73,15 +73,16 @@ function parseSkillTable(text, port) { ? /^ "(\w+)" = @\{\n([\s\S]*?)^ \}/gm : /^ "(\w+)": \{\n([\s\S]*?)^ \},/gm; const ruleRe = isPs - ? /"(\w+)"\s*=\s*@\{ MainAttr = (\$null|"[^"]*"); AttrName = (?:\$null|"[^"]*"); Slot = (\$null|"[^"]*")/g - : /"(\w+)": \{"main_attr": (None|"[^"]*"), "attr_name": (?:None|"[^"]*"),\s*"slot": (None|"[^"]*")/g; + ? /"(\w+)"\s*=\s*@\{ MainAttr = (\$null|"[^"]*"); AttrName = (?:\$null|"[^"]*"); Slot = (\$null|"[^"]*")([^}]*)/g + : /"(\w+)": \{"main_attr": (None|"[^"]*"), "attr_name": (?:None|"[^"]*"),\s*"slot": (None|"[^"]*")([^}]*)/g; for (const km of tm[1].matchAll(kindRe)) { const rules = new Map(); ruleRe.lastIndex = 0; for (const rm of km[2].matchAll(ruleRe)) { const unq = (v) => (v === '$null' || v === 'None') ? null : v.slice(1, -1); - rules.set(rm[1], { mainAttr: unq(rm[2]), slot: unq(rm[3]) }); + const primary = /Primary = \$true|"primary": True/.test(rm[4] || ''); + rules.set(rm[1], { mainAttr: unq(rm[2]), slot: unq(rm[3]), primary }); } if (rules.size === 0) errors.push(`${port}: у вида ${km[1]} не разобрано ни одного назначения`); table.set(km[1], rules); @@ -125,7 +126,16 @@ for (const [kind, rules] of psTable) { } } -// 3. Паритет портов. +// 3. Основная форма вида: ровно одна на вид. Ею пользуется умолчание -Purpose; ноль пометок +// оставит навык с пустым назначением, две — сделают умолчание зависимым от порядка ключей. +for (const [kind, rules] of psTable) { + const primaries = [...rules.entries()].filter(([, r]) => r.primary).map(([p]) => p); + if (primaries.length !== 1) { + errors.push(`form-add: у ${kind} пометок Primary ${primaries.length} (${primaries.join(', ') || 'нет'}), нужна ровно одна`); + } +} + +// 4. Паритет портов. for (const kind of new Set([...psTable.keys(), ...pyTable.keys()])) { const a = psTable.get(kind); const b = pyTable.get(kind); @@ -142,6 +152,9 @@ for (const kind of new Set([...psTable.keys(), ...pyTable.keys()])) { if (norm(ra.mainAttr) !== norm(rb.mainAttr)) { errors.push(`паритет: ${kind}/${p} главный реквизит PS=${ra.mainAttr} PY=${rb.mainAttr}`); } + if (ra.primary !== rb.primary) { + errors.push(`паритет: ${kind}/${p} пометка Primary PS=${ra.primary} PY=${rb.primary}`); + } } }