Как загрузить структуру метаданных 1С 7.7 и Бухгалтерии предприятия 3.0 в Конвертацию данных 2?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При переходе с устаревших конфигураций на базе 1С:Предприятие 7.7 или при необходимости организации регулярного переноса в современную 1С:Бухгалтерию предприятия 3.0 разработчики часто сталкиваются с техническими трудностями. Привычные правила обмена перестают работать из-за разницы в структуре метаданных. При попытке выгрузить структуру современной конфигурации и загрузить ее в базу «Конвертации данных» возникает ошибка разбора XML. Разберем по шагам, как правильно организовать процесс выгрузки структуры, какие инструменты использовать и как устранить типичные ошибки.

Анализ совместимости: почему КД 2.1, а не КД 3.0?

Проанализируем архитектуру версий конфигурации «Конвертация данных»:

  1. Конвертация данных 3.0 — спроектирована исключительно для экосистемы 1С:Предприятие 8.3 и механизма обмена по стандарту EnterpriseData (на основе форматов XDTO) с использованием Библиотеки стандартных подсистем (БСП). Платформа 1С 7.7 не поддерживает интеграционные модули БСП и объекты метаданных 8.3. Соответственно, создать прямое сопоставление метаданных между 7.7 и 8.3 в КД 3.0 штатным образом невозможно.
  2. Конвертация данных 2.1 — универсальный классический инструмент, работающий на базе XML-файлов правил. Именно редакция 2.1 полностью поддерживает выгрузку как метаданных и данных из 1С 7.7, так и объектов управляемых конфигураций 1С 8.3.

Таким образом, для связки «1С 7.7 — 1С:Бухгалтерия 3.0» стандартом является использование КД 2.1.

Причины ошибки: Ошибка преобразования данных XML при загрузке структуры

При попытке загрузить файл с метаданными БП 3.0 в «Конвертацию данных» нередко появляется исключение платформы:


{Обработка.ЗагрузкаСтруктурыМетаданных(297)}: Ошибка при вызове метода контекста (ПрочитатьXML)
Объект = ПрочитатьXML(ЧтениеXML);
по причине:
Ошибка преобразования данных XML

Выясним причину такого поведения системы. Данная ошибка возникает из-за рассинхронизации версий. Если обработка выгрузки структуры MD83Exp.epf берется из свежего дистрибутива или конфигурация БП 3.0 работает на новой версии платформы, в XML-файл попадают новые типы метаданных (например, общие реквизиты с разделением, специфические свойства табличных частей или интеграционные объекты). Если при этом сама конфигурация «Конвертация данных 2» не обновлена до актуального релиза, ее внутренние схемы и справочники не знают новых типов и процедура ПрочитатьXML завершается сбоем.

Главное решение: необходимо обновить базу «Конвертация данных» до актуального релиза (не ниже 2.1.8). Обработка MD83Exp.epf должна быть взята строго из шаблона поставки установленной версии КД.

Пошаговый порядок переноса структуры конфигураций в КД 2.1

Разберем весь алгоритм действий для получения рабочей схемы конвертации.

  1. Выгрузка структуры из 1С:Бухгалтерии предприятия 3.0:

    Откроем БП 3.0 в режиме «1С:Предприятие». Через главное меню запустим внешнюю обработку MD83Exp.epf. Чтобы избежать раздувания файла и ускорить чтение, снимем флаги с элементов, не используемых в обмене: Движения документов, Права, Формы, Интерфейсы. Выгрузим файл метаданных (например, BP3_metadata.xml).

  2. Выгрузка структуры из 1С:Предприятия 7.7:

    Запустим базу 7.7 в монопольном или разделенном режиме. Через пункт меню «Файл» — «Открыть» вызовем обработку MD77Exp.ert (из каталога поставки КД). Сформируем XML-файл структуры 7.7.

  3. Загрузка метаданных в КД 2.1:

    Откроем актуальную базу «Конвертация данных 2». Перейдем в список конфигураций и с помощью штатной обработки Загрузка структуры метаданных последовательно загрузим полученные XML-файлы для конфигурации-источника (7.7) и конфигурации-приемника (БП 3.0).

Организация обмена данными между 7.7 и 3.0

После настройки правил конвертации объектов (ПКО) и правил конвертации свойств (ПКС) необходимо подготовить рабочий комплект для регулярной передачи информации:

  1. Выгрузка из 7.7: выполняется внешней обработкой V8Ex77.ert, которая считывает созданные в КД 2.1 правила обмена и формирует итоговый XML-файл с данными. При выгрузке строковых полей помним, что 7.7 использует кодировку Windows-1251, в то время как результирующий XML должен корректно восприниматься средой 8.3 в UTF-8.
  2. Загрузка в БП 3.0: выполняется с помощью обработки УниверсальныйОбменДаннымиXML.epf (на управляемых формах) или через встроенный механизм обмена данными в подсистеме БСП.

Особенности сопоставления объектов и проведение документов

Рассмотрим важные тонкости переноса, которые предотвращают логические ошибки учета:

В конфигурациях 7.7 бухгалтерские итоги и проводки генерировались программным кодом проведения непосредственно в момент сохранения документа. Структура регистров бухгалтерии и счетов в БП 3.0 существенно отличается жесткой типизацией субконто через планы видов характеристик. Переносить движения напрямую не рекомендуется.

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


Если Не Параметры.НеПроводитьДокументыПриЗагрузке Тогда
    Попытка
        Объект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведенияДокумента.Неоперативный);
    Исключение
        ЗаписьЖурналаРегистрации("Ошибка загрузки из 7.7", УровеньЖурналаРегистрации.Ошибка,,, ОписаниеОшибки());
    КонецПопытки;
КонецЕсли;

Соблюдение соответствия релизов КД и правильное отключение лишних метаданных гарантируют корректную загрузку структуры и стабильную работу обмена между поколениями платформ 1С.

← На главную