Многие разработчики сталкиваются с заблуждением, что в современной БП 3.0 «старая добрая» Конвертация данных 2.0 (КД 2) больше не работает. На самом деле это не так. Хотя 1С активно продвигает универсальный формат Enterprise Data (КД 3), классическая КД 2 остается мощным, гибким и, главное, работающим инструментом, особенно когда нужно перенести специфические данные, такие как справочники с дополнительными регистрами сведений.
Технически компоненты КД 2 никуда не исчезли из конфигурации БП 3.0. Вы можете использовать обработку УниверсальныйОбменДаннымиXML для выполнения обмена по правилам, созданным в конфигурации Конвертация данных 2.1. Основное преимущество такого подхода — отсутствие необходимости глубокого изучения XDTO-пакетов и структуры Enterprise Data. Если вам нужно передать данные из РегистраСведений с привязкой к Контрагенту, КД 2 позволит сделать это через обработчики событий ПередВыгрузкой или ПослеЗагрузки максимально прозрачно.
Когда мы говорим об обмене данными между двумя базами БП 3.0, критически важно выбрать надежный канал связи. Хотя традиционно обмен настраивается через общие папки или FTP, это часто приводит к проблемам с блокировками файлов, правами доступа и необходимостью ручной очистки «очередей» сообщений.
Мы рекомендуем рассмотреть более современный подход — использование HTTP-сервисов. Вместо создания промежуточных файлов, одна база (база-приемник) может выступать в роли веб-сервера, принимая пакеты данных напрямую. Это позволяет:
ПланахОбмена.Для создания собственной системы обмена без использования тяжелых типовых механизмов БСП, следуйте этим шагам:
Конвертация данных 2.1. Опишите структуру метаданных обеих баз. Поскольку конфигурации идентичны, правила будут выглядеть максимально просто: правило выгрузки для Справочника.Контрагенты и правило для РегистраСведений.ВыгрузитьДанные() объекта УниверсальныйОбменДаннымиXML.HTTP-сервис приемника методом POST.ЗагрузитьДанные() той же обработки УниверсальныйОбменДаннымиXML, передавая полученный контент напрямую из памяти.Разберем, как программно запустить выгрузку, если вы решили использовать внешнюю обработку УниверсальныйОбменДаннымиXML:
// Пример упрощенного вызова выгрузки
ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML.Создать();
ОбработкаОбмена.ИмяФайлаПравил = "C:\Rules\MyRules.xml";
ОбработкаОбмена.ИмяФайлаДанных = "C:\Data\ExportData.xml";
ОбработкаОбмена.ЗагрузитьПравилаОбмена();
ОбработкаОбмена.ВыполнитьВыгрузку();
Использование КД 2 при обмене между идентичными базами БП 3.0 экономит время разработки. Вам не нужно переписывать XDTO-модели, которые 1С меняет при каждом обновлении конфигурации. Если вы используете универсальную обработку, ваша логика обмена остается стабильной, даже если разработчики 1С перепишут структуру подсистемы БСП.
Важное предостережение: При использовании обмена через FTP или файловый обмен всегда учитывайте вероятность дублирования объектов, если в обеих базах данные создаются параллельно. Используйте УИД (УникальныйИдентификатор) объектов для сопоставления. Если вы используете веб-сервисы, добавьте логгирование ответов сервера, чтобы в случае ошибки 500 или 404 быстро понять, на каком этапе прервалась передача данных.
Таким образом, сочетание гибкости Конвертации данных 2.0 и надежности передачи через HTTP-сервисы является идеальным «легким» решением для переноса контрагентов и связанных регистров между базами 1С:Бухгалтерии.