Как исправить ошибку «Тип не является подмножеством типа значений ПВК» при переносе характеристик из УПП в КА 2 или ERP?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет Промышленность, строительство и АПК
← На главную

Переход с устаревшей системы УПП 1.3 на современные решения, такие как Комплексная автоматизация 2 или ERP Управление предприятием, — это сложный процесс, требующий глубокого понимания структуры метаданных. Одной из самых частых и неприятных проблем является ошибка: «Тип не является подмножеством типа значений плана видов характеристик». Эта ошибка обычно возникает в процессе загрузки данных, когда штатный механизм обмена пытается сопоставить свойства объектов из старой базы с новой архитектурой дополнительных реквизитов.

В этой статье мы подробно разберем, почему возникает этот конфликт, как на это влияют отраслевые решения (например, приставка Проф в именах справочников) и какие шаги необходимо предпринять, чтобы успешно завершить перенос остатков с характеристиками.

Выясним причину возникновения ошибки

Проанализируем механику работы 1С. В УПП характеристики номенклатуры реализованы как справочник ХарактеристикиНоменклатуры, который может иметь свои свойства и категории. В современных конфигурациях (КА 2 / ERP) используется подсистема «Свойства» из состава БСП (Библиотеки стандартных подсистем). Центральным узлом здесь является план видов характеристик ДополнительныеРеквизитыИСведения.

Ошибка «Тип не является подмножеством...» сигнализирует о том, что правила обмена пытаются записать в объект ПланВидовХарактерик.ДополнительныеРеквизитыИСведения значение такого типа, который не разрешен в его настройках (в поле Тип значения). Рассмотрим подробнее ситуацию, описанную в теме: программа пытается передать ссылку на справочник характеристик, но ПВК в целевой базе «не знает» о существовании такого типа данных.

Проанализируем специфику справочников с постфиксом «Проф»

Если в вашей базе УПП встречаются объекты типа СправочникСсылка.Проф..., это явный признак того, что вы работаете не с чистой типовой конфигурацией, а с отраслевым решением (например, от «1С-Рарус» или «БИТ.ФИНАНС»). Штатные правила перехода, которые идут в комплекте с КА 2, рассчитаны исключительно на типовые объекты 1С:УПП 1.3.

Когда типовой алгоритм видит нестандартный справочник характеристик, он не может корректно сопоставить его с метаданными в КА 2. В итоге система пытается «протолкнуть» ссылку как есть, что и приводит к ошибке типизации на стороне приемника.

Шаг 1. Проверка настроек в целевой базе (КА 2 / ERP)

Прежде чем менять код правил, проверим функциональные опции в приемнике. Разберем по шагам:

  1. Перейдем в раздел НСИ и администрированиеНастройка НСИ и разделовНоменклатура.
  2. Убедимся, что установлена галочка Характеристики номенклатуры.
  3. Важный момент: в КА 2 характеристики жестко привязаны к объекту Виды номенклатуры. Рассмотрим ситуацию: если вы загружаете номенклатуру, для которой не создан или не назначен соответствующий вид с включенным использованием характеристик, загрузка может завершиться аварией.

Посмотрим на пример настройки вида номенклатуры: для успешного переноса индивидуальных характеристик из УПП в виде номенклатуры должен быть выбран вариант Индивидуальные для номенклатуры.

Шаг 2. Расширение типов ПВК через расширение конфигурации

Если проблема в том, что целевая система не принимает тип данных, мы можем разрешить этот тип. Самый безопасный способ сделать это без снятия конфигурации с поддержки — использовать расширение.

Разберем алгоритм действий:

  1. Создадим новое расширение конфигурации.
  2. Добавим в него план видов характеристик ДополнительныеРеквизитыИСведения.
  3. В свойстве Тип значения расширенного ПВК добавим недостающий тип (например, ссылку на ваш специфический справочник характеристик, если вы его также перенесли).

Однако помните, что это лишь «косметическое» решение, которое позволит данным загрузиться, но не гарантирует их корректную работу в бизнес-логике ERP.

Шаг 3. Доработка правил в «Конвертации данных 2.1»

Штатные правила часто являются лишь заготовкой. Если мы имеем дело с нетиповой УПП, нам придется открыть файл правил (обычно это UPP13_ERP2.xml) в конфигурации Конвертация данных 2.1.

Проанализируем ситуацию в обработчиках. Нам необходимо найти ПКО (Правило Конвертации Объекта) для характеристик и ПКС (Правила Конвертации Свойств), отвечающие за доп. реквизиты. Скорее всего, потребуется добавить следующий код в обработчик ПередЗагрузкой или ПоляПоиска, чтобы принудительно привести типы к ожидаемым:


// Пример корректировки типа в правилах
Если ТипЗнч(Значение) = Тип("СправочникСсылка.ПрофХарактеристики") Тогда
    // Логика сопоставления с типовым справочником ХарактеристикиНоменклатуры
    Значение = НайтиТиповуюХарактеристику(Значение); 
КонецЕсли;

Выясним причину успеха «простого учета»: как упоминалось в обсуждении, простой учет переносит данные без ошибок, так как в нем не задействованы сложные иерархические связи свойств. Как только в УПП появляется использование дополнительных свойств характеристик, которые должны превратиться в доп. реквизиты в КА 2, штатные правила «ломаются».

Шаг 4. Очистка данных в исходной базе УПП

Иногда ошибка вызвана наличием «битых» ссылок или объектов, помеченных на удаление, но все еще используемых в записях характеристик. Перед выгрузкой выполним следующие действия:

Подведем итоги

Рассмотренная проблема требует комплексного подхода. Мы выяснили, что ошибка чаще всего связана с использованием отраслевых подсистем (Проф) и жесткой проверкой типов в ПВК ДополнительныеРеквизитыИСведения. Для успешного переноса рекомендуем сначала подготовить НСИ в КА 2 (создать виды номенклатуры), а затем, если ошибка сохранится, внести точечные изменения в правила обмена через Конвертацию данных 2.1, адаптируя их под ваши уникальные метаданные.

← На главную