mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-23 21:21:04 +03:00
test(meta-compile): закрыть 1С-cert пробелы (стабы кросс-ссылок/форм/макетов)
Сплошной verify-snapshots --skill meta-compile был 51/68 — 17 кейсов падали на «Неизвестный объект метаданных»/картинки/предопределённые (cert-инфра не создавала объекты, на которые ссылается вход). Все пред-существующие (не связаны с dataLockControlMode). Доведено до 68/68, ноль регрессий. verify-snapshots.mjs (инфра): - getFieldStubs: обобщённый парсер MDObjectRef-путей (Тип.Имя[.ТЧ].Реквизит/ Измерение/Ресурс.Поле, +рус.синонимы) → богатые стабы; enum-значения и предопределённые элементы из fillValue/choiceParameters; регистратор для register-стабов. Покрывает FilterCriterion/FunctionalOption/CommonAttribute/ basedOn/owners и т.д. - makeStubDSL +CommonPicture/DefinedType/SettingsStorage/CommonTemplate; extractTypeRefs +эти паттерны и Characteristic.X→ChartOfCharacteristicTypes. - Step 5.5: верификатор досоздаёт формы/макеты (form-add/template-add) по ссылкам объекта (key-driven, любая нотация; гард поддерживаемых form-add типов). - postWrite + ветка EventSubscription: стаб CommonModule с телом экспортного метода-обработчика. Правки кейсов (реалистичность, не маскировка — компилятор эмитит верно): - catalog-command: валидные группы командам (1С требует группу). - catalog-inputbystring-datalock: owner (валидирует Владелец) + индексированное строковое поле inputByString (ссылочное 1С отвергает). - catalog-characteristics: preRun-фикстура ДопРеквизиты по реальному ЕРП-паттерну (ПВХ ВидыСвойств + наборы + регистр с Значение=Characteristic+LinkByType) + собственная ТЧ объекта. NB (в эту задачу не входит): пробелы валидации компилятора по командам — пустой <Group> из безгруппной команды и неконтролируемое сочетание навигационной группы с commandParameterType — закрыть отдельно (проверки/умолчания). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
f817787f26
commit
63591ef132
@@ -3,14 +3,16 @@
|
||||
"input": {
|
||||
"type": "Catalog",
|
||||
"name": "ДоговорыКонтрагентов",
|
||||
"owners": ["Catalog.Контрагенты"],
|
||||
"codeLength": 11,
|
||||
"descriptionLength": 100,
|
||||
"inputByString": ["Код", "Наименование", "Контрагент"],
|
||||
"inputByString": ["Код", "Наименование", "НомерДоговора"],
|
||||
"dataLockFields": ["Организация", "Контрагент", "Владелец"],
|
||||
"basedOn": ["Catalog.Контрагенты", "Document.ЗаказПоставщику"],
|
||||
"attributes": [
|
||||
"Организация: CatalogRef.Организации",
|
||||
"Контрагент: CatalogRef.Контрагенты"
|
||||
"Контрагент: CatalogRef.Контрагенты",
|
||||
"НомерДоговора: String(20) | index"
|
||||
]
|
||||
},
|
||||
"validatePath": "Catalogs/ДоговорыКонтрагентов",
|
||||
|
||||
Reference in New Issue
Block a user