Files
cc-1c-skills/tests/skills/cases/meta-compile/catalog-characteristics.json
T
Nick Shirokov 63591ef132 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>
2026-07-11 18:51:40 +03:00

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"]
}
}