diff --git a/tests/skills/cases/meta-compile/chart-of-characteristic-types.json b/tests/skills/cases/meta-compile/chart-of-characteristic-types.json index 46952bb8..417060b8 100644 --- a/tests/skills/cases/meta-compile/chart-of-characteristic-types.json +++ b/tests/skills/cases/meta-compile/chart-of-characteristic-types.json @@ -5,7 +5,8 @@ "name": "ДополнительныеРеквизитыИСведения", "descriptionLength": 100, "hierarchical": true, - "valueTypes": ["String(200)", "Number(15,2)", "Boolean", "Date"], + "valueTypes": ["String(200)", "Number(15,2)", "Boolean", "Date", "CatalogRef.ЗначенияСвойств"], + "characteristicExtValues": "Catalog.ЗначенияСвойств", "standardAttributes": { "Description": { "synonym": "Свойство" } }, "attributes": ["НаборСвойств: String(100)"], "predefined": [ diff --git a/tests/skills/cases/meta-compile/snapshots/chart-of-characteristic-types/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения.xml b/tests/skills/cases/meta-compile/snapshots/chart-of-characteristic-types/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения.xml index 322dd164..97633403 100644 --- a/tests/skills/cases/meta-compile/snapshots/chart-of-characteristic-types/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения.xml +++ b/tests/skills/cases/meta-compile/snapshots/chart-of-characteristic-types/ChartsOfCharacteristicTypes/ДополнительныеРеквизитыИСведения.xml @@ -38,7 +38,7 @@ true false - + Catalog.ЗначенияСвойств xs:string @@ -56,6 +56,7 @@ Date + d5p1:CatalogRef.ЗначенияСвойств true true diff --git a/tests/skills/verify-snapshots.mjs b/tests/skills/verify-snapshots.mjs index fa58d777..42f17036 100644 --- a/tests/skills/verify-snapshots.mjs +++ b/tests/skills/verify-snapshots.mjs @@ -184,6 +184,20 @@ function getStructuralDeps(input) { } } break; + case 'ChartOfCharacteristicTypes': + // Доп. значения характеристик (CharacteristicExtValues) — ссылка на справочник, ПОДЧИНЁННЫЙ этому ПВХ + // (Owner = ChartOfCharacteristicTypes.X). 1С требует такой справочник для целостности; плоский стаб не годится + // (тип предопределённых должен входить в тип значения ПВХ, а справочник — быть подчинён). Стабим с Owner. + if (inp.characteristicExtValues) { + const ref = String(inp.characteristicExtValues); + const dot = ref.indexOf('.'); + const cn = dot >= 0 ? ref.substring(dot + 1) : ref; + deps.push({ + type: 'Catalog', name: cn, + dsl: { type: 'Catalog', name: cn, owners: [`ChartOfCharacteristicTypes.${inp.name}`] }, + }); + } + break; case 'DocumentJournal': if (inp.registeredDocuments) { for (const docRef of inp.registeredDocuments) {