mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-08-31 23:40:51 +03:00
fix(form-add): вид объекта берём из структуры документа, а не поиском по имени
Вид искался как первое совпадение //md:<Вид> по всему файлу и потому зависел от порядка перебора видов. У бизнес-процесса есть свойство <Task>, и объект определялся как задача, после чего имя не находилось вовсе: «Не удалось определить имя объекта из Properties/Name». Прежний упорядоченный список видов это маскировал — в нём BusinessProcess стоял раньше Task. Теперь вид — первый элемент-потомок MetaDataObject, и неподдерживаемый вид отвергается по имени, а не проваливается в поиск имени объекта. Нашлось платформенной проверкой всех видов разом: собрана конфигурация с формой каждого поддержанного вида (15 видов, 43 формы) и загружена в 1С. Заодно покрытие назначений доведено до полного (добавились FolderChoice, Load, Record), а мелкие кейсы на один объект объединены: несколько назначений в одном кейсе, эталон показывает все слоты сразу. Гард дополнен инвариантом «ровно одна основная форма на вид» и его паритетом между портами — именно им пользуется умолчание -Purpose. Инструкция: в таблице параметров умолчание Purpose исправлено с Object на основную форму вида. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
0f7745af4b
commit
53fc16d2f1
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "Регистр сведений: форма записи (умолчание вида) и форма набора записей",
|
||||
"preRun": [
|
||||
{
|
||||
"script": "meta-compile/scripts/meta-compile",
|
||||
"input": {
|
||||
"type": "InformationRegister",
|
||||
"name": "ЦеныТест",
|
||||
"dimensions": [
|
||||
"Товар: String(50)"
|
||||
],
|
||||
"resources": [
|
||||
"Цена: Number(15,2)"
|
||||
]
|
||||
},
|
||||
"args": {
|
||||
"-JsonPath": "{inputFile}",
|
||||
"-OutputDir": "{workDir}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"script": "form-add/scripts/form-add",
|
||||
"args": {
|
||||
"-ObjectPath": "{workDir}/InformationRegisters/ЦеныТест.xml",
|
||||
"-FormName": "ФормаЗаписи"
|
||||
}
|
||||
}
|
||||
],
|
||||
"params": {
|
||||
"objectPath": "InformationRegisters/ЦеныТест.xml",
|
||||
"formName": "ФормаНабора"
|
||||
},
|
||||
"args_extra": [
|
||||
"-Purpose",
|
||||
"RecordSet"
|
||||
],
|
||||
"validatePath": "InformationRegisters/ЦеныТест/Forms/ФормаНабора",
|
||||
"expect": {
|
||||
"stdoutContains": "Основной не назначена"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user