При переносе данных из устаревших систем, таких как «1С:Зарплата и Управление Персоналом» версии 1.0 на платформе 8.0, специалисты часто сталкиваются с техническим барьером. Современная конфигурация «Конвертация данных 2.1» (КД 2.1) и её встроенные алгоритмы загрузки ориентированы на форматы XML, принятые в версиях 8.2 и 8.3. Попытка использовать стандартную обработку MD80.epf для выгрузки структуры метаданных из базы 8.0 и последующая загрузка этого файла в КД 2.1.8 часто заканчивается ошибкой преобразования данных XML.
Рассмотрим подробно причины возникновения этой проблемы и разберем наиболее эффективные способы её решения, основываясь на практическом опыте участников сообщества.
Основная причина неудачи при прямой загрузке заключается в эволюции платформы 1С. Выясним причину технического сбоя. В старой обработке MD80.epf формирование XML-файла происходило по правилам, существовавшим более 15 лет назад. В частности, теги объектов метаданных могли использовать локализованные (русские) наименования, такие как <Синоним>, в то время как современные парсеры в «Конвертации данных 2.1» ожидают строго стандартизированную структуру, соответствующую более поздним схемам XML.
Проанализируем пример типичной ошибки, возникающей в модуле объекта обработки ЗагрузкаСтруктурыМетаданных:
{Обработка.ЗагрузкаСтруктурыМетаданных.МодульОбъекта(73)}: Ошибка при вызове метода контекста (ПрочитатьXML)
ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка преобразования данных XML: [sfile://C:/Temp/80.xml][167,2]
Ошибка указывает на то, что метод ПрочитатьXML наталкивается на узел, который не описан в текущей схеме данных КД 2.1. В старых файлах 80.xml часто встречаются узлы квалификаторов (строки, числа, даты) и специфические ссылки, которые в современных версиях платформы обрабатываются иначе.
Самым надежным и технически правильным методом является приведение структуры базы данных к современному виду. Это не означает обновление самой конфигурации (кода и объектов), а подразумевает обновление технической оболочки — платформы. Пройдем по шагам этот путь:
После проведения этих манипуляций мы можем использовать обработку MD82.epf (или MD83.epf), которая входит в состав дистрибутива КД 2.1.8. Эта обработка выгрузит метаданные в формате, который КД 2.1 прочитает без единой ошибки.
Если по каким-то причинам последовательная конвертация платформы невозможна (например, база повреждена или отсутствуют дистрибутивы промежуточных платформ), можно попробовать использовать «архивные» инструменты. Рассмотрим этот вариант подробнее.
Конфигурация «Конвертация данных 2.0.16» была выпущена в период активного использования платформ 8.0 и 8.1. Её механизмы загрузки гораздо более лояльны к старому формату XML. Алгоритм действий в этом случае следующий:
MD80.epf.Выясним разницу между обработками выгрузки метаданных, чтобы не совершить типичных ошибок:
MD82.epf будет достаточно.Разберем итог: если вы столкнулись с ошибкой преобразования XML при загрузке структуры метаданных «Предприятие 8.0», не пытайтесь править XML-файл вручную. Это может привести к потере связей между объектами. Лучшее решение — последовательный апгрейд платформы базы-источника до 8.2 или 8.3. Это гарантирует, что MD82.epf создаст корректный файл, содержащий все необходимые идентификаторы типов, которые «Конвертация данных 2.1» сможет корректно сопоставить и загрузить.