mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-07-16 15: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>
51 lines
3.2 KiB
JSON
51 lines
3.2 KiB
JSON
{
|
|
"name": "Характеристики ПВХ (Дополнительные реквизиты и сведения)",
|
|
"preRun": [
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "ChartOfCharacteristicTypes", "name": "ВидыСвойств",
|
|
"valueTypes": ["String(100)", "Number(15,2)", "Boolean"] },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "Catalog", "name": "НаборыДопРеквИСвед",
|
|
"tabularSections": {
|
|
"ДополнительныеРеквизиты": ["Свойство: ChartOfCharacteristicTypesRef.ВидыСвойств"],
|
|
"ДополнительныеСведения": ["Свойство: ChartOfCharacteristicTypesRef.ВидыСвойств"]
|
|
},
|
|
"predefined": ["Справочник_Организации"] },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
},
|
|
{
|
|
"script": "meta-compile/scripts/meta-compile",
|
|
"input": { "type": "InformationRegister", "name": "ДополнительныеСведения",
|
|
"dimensions": ["Объект: CatalogRef.Организации", "Свойство: ChartOfCharacteristicTypesRef.ВидыСвойств"],
|
|
"resources": [{ "name": "Значение", "type": "Characteristic.ВидыСвойств",
|
|
"linkByType": { "dataPath": "InformationRegister.ДополнительныеСведения.Dimension.Свойство" } }] },
|
|
"args": { "-JsonPath": "{inputFile}", "-OutputDir": "{workDir}" }
|
|
}
|
|
],
|
|
"input": {
|
|
"type": "Catalog",
|
|
"name": "Организации",
|
|
"tabularSections": {
|
|
"ДополнительныеРеквизиты": ["Свойство: ChartOfCharacteristicTypesRef.ВидыСвойств", "Значение: Characteristic.ВидыСвойств"]
|
|
},
|
|
"characteristics": [
|
|
{ "types": { "from": "Справочник.НаборыДопРеквИСвед.ДополнительныеРеквизиты",
|
|
"key": "Свойство", "filterField": "Ссылка", "filterValue": "Catalog.НаборыДопРеквИСвед.Справочник_Организации" },
|
|
"values": { "from": "Catalog.Организации.TabularSection.ДополнительныеРеквизиты",
|
|
"object": "Ссылка", "type": "Свойство", "value": "Значение" } },
|
|
{ "types": { "from": "Catalog.НаборыДопРеквИСвед.TabularSection.ДополнительныеСведения",
|
|
"key": "Свойство", "filterField": "Ссылка", "filterValue": "Справочник_Организации" },
|
|
"values": { "from": "InformationRegister.ДополнительныеСведения",
|
|
"object": "Dimension.Объект", "type": "Dimension.Свойство", "value": "Resource.Значение" } }
|
|
]
|
|
},
|
|
"validatePath": "Catalogs/Организации",
|
|
"expect": {
|
|
"files": ["Catalogs/Организации.xml"]
|
|
}
|
|
}
|