mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-14 14:55:16 +03:00
63591ef132
Сплошной 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>
32 lines
1.2 KiB
JSON
32 lines
1.2 KiB
JSON
{
|
|
"name": "Справочник с командой",
|
|
"input": {
|
|
"type": "Catalog", "name": "Номенклатура",
|
|
"commands": {
|
|
"ПечатьЭтикеток": {
|
|
"synonym": { "ru": "Печать этикеток", "en": "Print labels" },
|
|
"group": "FormCommandBarImportant",
|
|
"commandParameterType": "CatalogRef.Номенклатура",
|
|
"parameterUseMode": "Multiple",
|
|
"modifiesData": true,
|
|
"tooltip": "Печать этикеток для выбранных товаров",
|
|
"picture": "StdPicture.Print"
|
|
},
|
|
"ЗагрузитьИзФайла": {
|
|
"synonym": "Загрузить из файла",
|
|
"group": "FormCommandBarImportant",
|
|
"picture": "CommonPicture.Загрузка",
|
|
"loadTransparent": false
|
|
},
|
|
"ОбновитьСписок": {
|
|
"group": "FormNavigationPanelGoTo",
|
|
"picture": { "src": "StdPicture.Refresh", "transparentPixel": { "x": 0, "y": 0 } }
|
|
}
|
|
}
|
|
},
|
|
"validatePath": "Catalogs/Номенклатура",
|
|
"expect": {
|
|
"files": ["Catalogs/Номенклатура.xml", "Catalogs/Номенклатура/Commands/ПечатьЭтикеток/Ext/CommandModule.bsl"]
|
|
}
|
|
}
|