В среде разработчиков 1С не утихают споры о целесообразности перехода с проверенной временем Конвертации данных 2.1 (КД2) на современную Конвертацию данных 3.0 (КД3). Многие специалисты задаются вопросом: действительно ли КД3 «хоронит» идею универсального обмена или же это необходимый виток эволюции? Разберем подробно концептуальные различия, сильные и слабые стороны обеих систем, а также выясним, как продолжать использовать привычные механизмы КД2 в конфигурациях, построенных на последних версиях Библиотеки стандартных подсистем (БСП).
Для понимания разницы между версиями часто используют удачную аналогию с дорогами. Представим ситуацию, когда у нас есть две базы (две деревни). Чтобы наладить обмен между ними, достаточно построить одну дорогу. Если деревень становится пять, количество дорог между всеми парами резко возрастает. Если же количество информационных систем в холдинге исчисляется десятками, то классический подход КД2 «точка-точка» превращается в паутину, которую невозможно поддерживать.
КД2 работает по принципу прямого сопоставления: Источник -> Приемник. Вы пишете правила, в которых объект «СправочникСсылка.Контрагенты» напрямую превращается в «СправочникСсылка.Партнеры». Это гибко, позволяет использовать произвольный код на 1С в обработчиках событий, но требует создания отдельного файла правил для каждой пары баз.
КД3 внедряет промежуточный слой — универсальный формат обмена (EnterpriseData). Схема меняется на: Источник -> Формат -> Приемник. Теперь база-источник ничего не знает о структуре базы-приемника. Она просто умеет выгружать свои данные в стандартизированный XML-вид. База-приемник, в свою очередь, умеет этот стандарт читать и превращать в свои объекты. Это значительно упрощает поддержку при обновлении релизов: если изменилась структура в одной базе, вам нужно поправить только её «выход» в формат, не трогая правила обмена с другими десятью системами.
Рассмотрим подробнее, почему переход на КД3 вызывает столько дискуссий. Основная сложность заключается в использовании технологии XDTO и жесткой привязке к БСП.
Плюсы КД3:
Минусы КД3:
EnterpriseData.Вопреки распространенному мнению, фирма 1С не «вырезала» поддержку КД2 полностью. В современных конфигурациях (БСП 3.0 и выше) механизмы обмена по правилам КД2 (через УниверсальныйОбменДаннымиXML) скрыты, но доступны. Проанализируем, как активировать этот режим:
В БСП существует режим УОП (Универсальный Обмен по Правилам). Чтобы использовать свои правила КД2, выполните следующие шаги:
ПравилаРегистрацииОбъектов и настройки в модуле менеджера обмена.Проанализируем техническую деталь из документации ИТС: если в конфигурации используется БСП версии 3.0.3 и выше, вы можете настроить обмен в режиме «По правилам конвертации», даже если основной формат обмена в данной версии — EnterpriseData. Для этого необходимо в макете настроек обмена указать режим РежимУниверсальногоОбмена.
Важным аргументом против использования как КД2, так и КД3, является «тяжеловесность» формата XML. В современных высоконагруженных системах программисты всё чаще обращаются к HTTP-сервисам и формату JSON. Разберем, почему это эффективно:
JSON — гораздо менее избыточный формат по сравнению с XML. Парсинг JSON в платформе 1С реализован на низком уровне через объекты ЧтениеJSON и ЗаписьJSON, что работает значительно быстрее, чем построение дерева DOM или обработка через ФабрикаXDTO.
Пример кода для быстрой передачи данных через JSON:
ПараметрыЗаписи = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет, " ", Истина);
Запись = Новый ЗаписьJSON;
Запись.УстановитьСтроку(ПараметрыЗаписи);
ЗаписатьJSON(Запись, СтруктураДанных);
РезультатСтрокой = Запись.Закрыть();
Такой подход позволяет обходить ограничения «курвы обучения» КД3 и создавать быстрые, легковесные обмены. Однако стоит помнить, что при использовании самописных веб-сервисов вы теряете стандартные механизмы БСП по регистрации изменений, контролю коллизий и гарантированной доставке сообщений.
Разберем новый инструмент, который 1С предлагает для решения проблем интеграции — 1С:Шина. Это отдельный продукт, который реализует паттерн ESB (Enterprise Service Bus). В отличие от классических конвертаций, Шина позволяет:
Шина использует новую технологию 1С:Предприятие.Элемент и является следующим шагом после КД3 для крупных корпоративных систем.
Проанализировав ситуацию, можно сделать вывод, что Конвертация данных 2.1 остается незаменимым инструментом для разовых переносов данных и синхронизации небольших, специфических баз, где затраты на развертывание EnterpriseData неоправданно высоки. Конвертация данных 3.0 — это стандарт для типовых решений 1С, который неизбежен при работе с ERP, УТ 11 или БП 3.0, если вы хотите оставаться в рамках типовой поддержки.
Выбор технологии должен зависеть от масштаба задачи: для «двух деревень» КД2 всё еще эффективнее, но для построения «федеральной сети дорог» придется осваивать КД3 или современные интеграционные шины.