Files
cc-1c-skills/tests/skills/cases/form-add/information-register-forms.json
T
Nick ShirokovandClaude Opus 5 53fc16d2f1 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>
2026-08-21 12:55:30 +03:00

42 lines
1.1 KiB
JSON

{
"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": "Основной не назначена"
}
}