← На главную
При работе с конфигурацией «1С:Конвертация данных 2.1» (КД 2.1) разработчики часто сталкиваются с ситуацией, когда после обновления релизов конфигураций источника или приемника и загрузки новой структуры метаданных правила конвертации объектов (ПКО) и свойств (ПКС) подсвечиваются красным цветом. Выясним причину такого поведения и разберем по шагам, как правильно актуализировать правила обмена без потери написанных обработчиков и настроек.
Причины возникновения красных подсветок в КД 2.1
Проанализируем ситуацию и разберем, почему элементы правил обмена подсвечиваются красным после выгрузки и загрузки обновленных метаданных:
- Загрузка метаданных в новую конфигурацию вместо обновления существующей. В архитектуре КД 2.1 правила обмена ссылаются на конкретные элементы подчиненных справочников метаданных (
Свойства, Объекты и т. д.). Если загрузить новый релиз конфигурации как отдельную запись справочника Конфигурации и подставить её в конвертацию, ссылки со старых ПКО и ПКС разорвутся, из-за чего все элементы подсветятся красным.
- Появление новых реквизитов и табличных частей. В КД 2.1 красным цветом выделяются не только удаленные или переименованные реквизиты, но и вновь пришедшие реквизиты, которые еще не задействованы в существующих ПКС или требуют настройки соответствия.
- Изменение типов данных. Если в новом релизе у реквизита изменился состав типов (например, тип стал составным или добавилось новое значение), КД 2.1 сигнализирует о необходимости проверить правила.
- Частичная выгрузка структуры. Если выгрузка метаданных производилась с помощью обработки
MD83Exp.epf или MD82Exp.epf с неполным выбором объектов, невыгруженные объекты посчитаются отсутствующими и пометятся как удаленные.
Вариант 1. Загрузка структуры поверх существующей конфигурации
Рассмотрим основной штатный способ актуализации метаданных, который позволяет сохранить все ссылочные связи и минимизировать ручную работу.
- Сформируем актуальные файлы структуры метаданных для базы-источника и базы-приемника с помощью обработки
MD83Exp.epf (или MD82Exp.epf для обычных форм и платформы 8.2). Обязательно выгружаем структуру конфигурации полностью, не снимая флаги с объектов.
- В базе «Конвертация данных 2.1» откроем обработку «Загрузка структуры метаданных конфигурации».
- В поле «Конфигурация» выберем именно ту запись конфигурации, которая уже привязана к вашей конвертации. Не следует создавать новый элемент в справочнике конфигураций.
- Укажем путь к сформированному XML-файлу и выполним загрузку в режиме обновления имеющихся метаданных.
- После завершения загрузки откроем правила обмена. Все существующие ПКО и ПКС сохранят привязку к объектам, а красным подсветится только то, что действительно изменилось, переименовалось или добавилось в новом релизе.
Вариант 2. Экспорт правил в XML и повторный импорт
Посмотрим на альтернативный способ, который отлично помогает в случаях, когда ссылочные связи метаданных уже разорваны или структура случайно загрузилась в новую запись конфигурации.
При выгрузке правил конвертации в XML-файл и последующей загрузке в новую конвертацию КД 2.1 сопоставляет объекты и реквизиты по их строковым именам, а не по внутренним ссылкам. Это позволяет быстро восстановить корректные привязки.
- В текущей конвертации выгрузим правила обмена в XML-файл с помощью команды «Сохранить правила обмена».
- Загрузим новые структуры метаданных конфигураций источника и приемника в КД 2.1.
- Создадим новую запись конвертации и укажем в ней актуальные версии конфигураций источника и приемника.
- Откроем форму «Загрузка правил обмена данными» и загрузим ранее сохраненный XML-файл в новую конвертацию.
- Механизм загрузки сопоставит правила по именам объектов и реквизитов. Все алгоритмы, обработчики событий (
ПередВыгрузкой, ПриЗагрузке и др.) и настройки сопоставлений сохранятся, а разрывы ссылок устранятся.
Практические рекомендации по работе с КД 2.1
Проанализируем ключевые правила, которые помогут избежать ошибок при регулярном обновлении правил обмена:
- Выгружайте метаданные полностью. Всегда выгружайте полную структуру конфигураций из рабочих или демо-баз актуальных релизов.
- Используйте актуальные обработки выгрузки. Следите за тем, чтобы версия обработки
MD83Exp.epf соответствовала платформе 1С:Предприятие.
- Проверяйте изменения точечно. Если после обновления реквизит подсвечивается красным, откройте его свойства и проверьте тип данных или наличие связанного ПКО.