При переносе данных из устаревших систем на платформе 1С 7.7 в современные конфигурации на базе 1С 8.3 (например, в «Альфа-Авто» или «Управление торговлей»), специалисты часто сталкиваются с тем, что после успешной, казалось бы, выгрузки описания конфигурации, в списке объектов «Конвертации данных» (КД) отсутствуют нужные регистры. Проанализируем ситуацию: в файле выгрузки данные есть, в описании конфигурации они вроде бы присутствуют, но при создании правил — пустота. Разберем по шагам, как исправить эту проблему и почему архитектура 7.7 требует особого подхода.
Первое, что мы должны понять: в системе 1С 7.7 не существует разделения на «Регистры накопления» и «Регистры сведений», к которому мы привыкли в версии 8.х. В « семерке» есть просто объект Регистр. Рассмотрим, как это влияет на процесс конвертации. Когда обработка выгрузки (обычно это MD80.ert) формирует XML-описание, она записывает все регистры в общую секцию. При последующей загрузке этого файла в «Конвертацию данных» 2.1, программные механизмы КД пытаются интерпретировать эти объекты. Если в целевой конфигурации (приемнике) вы ожидаете увидеть их именно в узле «Регистры накопления», а КД определила их как-то иначе, в интерфейсе может возникнуть иллюзия их отсутствия.
Выясним причину возможного сбоя на этапе экспорта. Обработка MD80.ert является основным инструментом для получения структуры метаданных из 7.7. Посмотрим на критические моменты:
MD80.ert, которая поставляется вместе с релизом конфигурации «Конвертация данных». Ищите её в каталоге шаблонов установки КД. Старые версии могут некорректно помечать типы регистров, из-за чего КД при загрузке просто «пропускает» их.Прежде чем грешить на «Конвертацию данных», проанализируем сам XML-файл, полученный из 1С 7.7. Откроем его любым текстовым редактором (Notepad++, VS Code) и выполним поиск по ключевым словам. Нам нужно убедиться, что блоки с описанием регистров физически присутствуют в файле. Ищите теги, похожие на <Регистр> или <Register>. Если в файле вы видите структуру своих регистров, их измерения и ресурсы, значит, проблема кроется исключительно в процессе загрузки описания в базу КД или в настройках самих правил.
Рассмотрим подробнее процесс импорта XML в базу «Конвертации данных». Когда мы выбираем файл и нажимаем «Загрузить», открывается форма со списком всех объектов метаданных. Проанализируем типичные ошибки на этом этапе:
Выясним важный момент, который часто путает начинающих разработчиков конвертаций. В 90% случаев регистры накопления не переносятся как самостоятельные объекты через ПВД (Правила выгрузки данных) и ПКО (Правила конвертации объектов). В системе 1С 8.х регистры — это движения документов.
Посмотрим, как правильно настроить их перенос:
ПКО конкретного документа-регистратора (например, «Реализация»).Если в 1С 7.7 регистр двигается документом, а в КД эта связь не отображается, это означает, что метаданные были выгружены частично. Необходимо перевыгрузить описание 7.7, обязательно включив и документы, и регистры одновременно, чтобы обработка зафиксировала связи между ними.
Поскольку целевой конфигурацией является «Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ», проанализируем её особенности. Данное решение сильно кастомизировано. Некоторые регистры в нем могут иметь специфические свойства, которые КД интерпретирует как «служебные». Если регистры упорно не появляются в списке ПКО, проверьте, не помечены ли они в приемнике как исключенные из миграции.
Если автоматика бессильна, но вы точно знаете, что регистр в базе есть, рассмотрим метод ручного добавления. В конфигурации КД все метаданные хранятся в обычных справочниках. Вы можете:
После этого объект станет доступен для выбора в правилах, и, если в XML-файле данных при обмене будут теги с этим именем, КД сможет их подцепить.
Разберем ситуацию, если ваша задача — не движения документов, а именно перенос остатков на дату. В этом случае регистры источника используются как источник данных, но в приемнике (Альфа-Авто) данные должны попасть в документ «Ввод остатков» (или аналогичный).
Пример алгоритма действий:
// В правилах выгрузки данных (ПВД) для остатков
// Пишется произвольный алгоритм, который выбирает итоги из регистра 7.7
// и передает их в структуру для формирования документа приемника
Выборка = СоздатьОбъект("Регистр.ВашРегистр");
Выборка.ВыбратьИтоги();
Пока Выборка.ПолучитьИтог() = 1 Цикл
// Заполнение исходящих данных для ПКО документа ВводОстатков
КонецЦикла;
Таким образом, даже если регистр «не виден» как самостоятельная сущность в списке ПВД, вы всегда можете обратиться к нему через программный код в обработчиках событий, используя стандартные методы платформы 1С 7.7.
Подводя итог, проанализируем основные причины «исчезновения» регистров: это либо использование устаревшей версии MD80.ert, либо некорректная настройка фильтров при загрузке XML в базу КД, либо непонимание того, что регистры в КД настраиваются внутри движений документов. Уделите внимание проверке связей «Регистратор — Регистр» в файле описания, и проблема будет решена.