Переход с редакции 1С:Управление торговлей 10.3 на 11.5 часто сопровождается сложностями при миграции справочной информации. Одной из самых частых проблем является перенос дополнительных свойств номенклатуры. Стандартная обработка переносит данные, но зачастую в новой базе остается пустым поле НаборСвойств в дополнительных реквизитах. Давайте разберем по шагам, почему возникает эта ситуация, и проанализируем эффективные способы ее решения.
Чтобы понять причину потери связей, рассмотрим различия в архитектуре хранения дополнительных сведений между двумя редакциями.
В УТ 10.3 свойства номенклатуры хранятся независимо:
СвойстваОбъектов.ЗначенияСвойствОбъектов.В УТ 11.5 этот механизм кардинально изменен и стал более структурированным:
ДополнительныеРеквизитыИСведения.ВидыНоменклатуры.НаборыДополнительныхРеквизитовИСведений.Суть проблемы: Из-за того, что в УТ 10.3 свойства могли назначаться номенклатуре хаотично, в обход жестких классификационных групп, прямого соответствия при конвертации просто не возникает.
При использовании типовой обработки от 1С для перехода между редакциями следует обратить пристальное внимание на ее настройки. Рассмотрим важный параметр — флажок Сворачивать характеристики номенклатуры.
Посмотрим на поведение системы в зависимости от этого флага:
НаборСвойств.Если мы решаем использовать Конвертацию данных 2.1, разберем необходимые доработки. Недостаточно просто связать ПВХ источника и приемника. Нам потребуется сложный программный маппинг в обработчиках событий.
Проанализируем алгоритм действий в правилах обмена:
Номенклатура нам необходимо программно определить, к какому элементу ВидыНоменклатуры она будет отнесена в новой базе.НаборыДополнительныхРеквизитовИСведений, который подчинен найденному ранее виду номенклатуры.ДополнительныеРеквизиты самого элемента справочника номенклатуры в УТ 11.5. При этом в каждую строку должен подставляться сформированный нами НаборСвойств.Важно помнить, что для успешного переноса значений нам нужно обязательно выгружать записи из регистра сведений ЗначенияСвойствОбъектов, а не только сам ПВХ.
На практике многие специалисты предпочитают не усложнять правила КД 2.1 сложной логикой, которую тяжело отлаживать. Разберем более прозрачный путь решения.
Данные (ПВХ и регистр сведений) переносятся «как есть» с использованием типовых правил, даже если они ложатся во временные структуры или остаются без жестких привязок. Затем в самой УТ 11.5 запускается специально написанная внешняя обработка.
Что должна делать эта обработка? Разберем по шагам:
Номенклатура.ВидыНоменклатуры.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты объекта номенклатуры и заполняет поле НаборСвойств.Этот метод позволяет полностью контролировать процесс классификации номенклатуры уже в новой архитектуре УТ 11.5, используя все возможности платформы и отладчика.
Ошибки вида «Ошибка получения значения свойства объекта» при переносе через КД 2.1 часто возникают из-за некорректных данных в базе-источнике. Перед стартом процесса переноса выполним обязательные подготовительные действия в УТ 10.3:
Тщательная подготовка исходной базы и правильный выбор между доработкой правил КД 2.1 и написанием обработки-постпроцессора позволят вам перенести справочник номенклатуры с сохранением всей критически важной аналитики.