При настройке стандартного обмена данными между конфигурациями 1С:Бухгалтерия предприятия и 1С:ERP Управление предприятием многие специалисты сталкиваются с неожиданным поведением: привычные короткие буквенные коды узлов (например, БП и ЦБ) после первого сеанса синхронизации автоматически заменяются длинными строками идентификаторов (GUID). Вслед за этим в каталоге обмена создаются файлы сообщений с длинными шестнадцатеричными именами вида Message_{GUID}_{GUID}.zip. Выясним причину такого поведения платформы, проанализируем риски ручного вмешательства и рассмотрим правильные варианты работы с планами обмена.
Для понимания происходящего разберем внутреннюю логику работы подсистемы обмена данными «1С:Библиотеки стандартных подсистем» (БСП) и универсального формата EnterpriseData:
СинхронизацияДанныхЧерезУниверсальныйФормат. Стандартный реквизит Код этого плана обмена имеет длину 36 символов, что в точности соответствует длине строкового представления уникального идентификатора (UUID/GUID).БП или ЦБ) необходим исключительно для разделения нумерации документов и справочников, создаваемых в разных узлах, чтобы исключить дублирование номеров. Пользователи часто ошибочно полагают, что задают код самого узла обмена.На практике часто применяется быстрое решение: принудительно вернуть буквенные коды с помощью внешней обработки (например, редактора объектов из состава инструментов разработчика). Однако такое вмешательство сопряжено с серьезными рисками для работоспособности обмена. Проанализируем, к чему это может привести:
Код узла в интерфейсе синхронизации намеренно заблокировано разработчиками от интерактивного редактирования, поскольку адресность сообщений строго привязана к этому значению.<From> и <To>. При загрузке сообщения база-приемник ищет узел строго по значению из этих тегов. Если изменить код только в одной из баз, синхронизация завершится аварийно с ошибкой: «Получатель из сообщения обмена не соответствует ожидаемому» или «Не удалось загрузить данные (этап анализа данных)».Рассмотрим основной и наиболее надежный сценарий сопровождения системы. Разработчики 1С закладывали использование GUID в качестве базового стандарта. Если обмен данными функционирует в штатном режиме, никаких изменений вносить не требуется.
Длинные имена файлов в каталоге обмена никак не влияют на производительность и стабильность передачи данных. Подсистема обмена БСП самостоятельно находит, считывает, распаковывает и удаляет нужные файлы, ориентируясь на глобальные идентификаторы узлов. Попытки сделать имена файлов «красивыми» вручную лишь усложняют дальнейшее сопровождение конфигураций при регулярных обновлениях.
Бывают ситуации, когда буквенные коды узлов и короткие имена файлов сообщений строго необходимы — например, если сторонние скрипты резервного копирования, системы мониторинга каталогов или интеграционные шины настроены на маски файлов вида Message_БП_ЦБ.zip. В этом случае разберем по шагам, как корректно выполнить переименование без нарушения логики обмена:
СинхронизацияДанныхЧерезУниверсальныйФормат. Элементу «Этот узел» (предопределенный элемент плана обмена) присваиваем код ЦБ. Для узла базы-корреспондента (базы бухгалтерии) устанавливаем код БП.БП, а узлу-корреспонденту (базе ERP) задаем код ЦБ. Коды должны зеркально соответствовать друг другу.С проблемой кодов узлов тесно связана распространенная ошибка при развертывании тестовых стендов. Если рабочая база была скопирована, элемент «Этот узел» в копии сохраняет исходный GUID рабочей базы. При попытке настроить синхронизацию между рабочей ERP и тестовой БП система выдаст ошибку зацикливания или откажет в подключении из-за совпадения идентификаторов.
Разберем, как штатно решить эту проблему без сторонних утилит: