Синхронизация данных между конфигурациями «Управление торговлей», редакция 10.3 (работающей на обычных формах) и «Бухгалтерия предприятия», редакция 3.0 (на управляемых формах) — это классический сценарий автоматизации. Однако при настройке этого процесса через общий сетевой каталог специалисты часто сталкиваются с ситуацией, когда обе базы успешно выгружают файлы данных, но категорически «не видят» пакеты, созданные базой-корреспондентом.
Особенно остро эта проблема проявляется в случаях, когда база «1С:Бухгалтерия» была недавно обновлена с устаревшей редакции 2.0 на актуальную 3.0. В этой статье мы подробно разберем причины возникновения данной ошибки, расшифруем загадочные «звездочки» в системных сообщениях и пошагово восстановим работоспособность обмена.
При попытке выполнить загрузку данных система выдает диагностическое сообщение: «В каталоге обмена информацией не был обнаружен файл сообщения с данными... Имя файла сообщения обмена: "Message*_УТ_БП.xml"».
Давайте проанализируем, как платформа 1С осуществляет поиск файлов в каталоге обмена. Символ «звездочка» (*) в имени файла представляет собой классическую маску поиска (wildcard). Вместо нее платформа подставляет порядковый номер отправленного сообщения, чтобы гарантировать последовательную загрузку пакетов без пропусков. Полное имя файла формируется по строгому шаблону:
Message_[КодОтправителя]_[КодПолучателя].xml
Если базы настроены корректно и зеркально, то:
УТ) выгружает файл для Бухгалтерии (с кодом узла БП) под именем Message_УТ_БП.xml.Message*_УТ_БП.xml. Обнаружив его, она считывает данные и формирует ответный файл Message_БП_УТ.xml.Если же выгрузка из обеих баз происходит, но они «не видят» друг друга, это означает только одно: коды узлов в планах обмена баз-источников не совпадают с кодами узлов в базах-приемниках. Например, в УТ код получателя задан как БП, а в самой БП код собственного узла инициализирован по умолчанию как 001 или 002. В результате БП выгружает файл Message_001_УТ.xml, в то время как УТ упорно ищет в сетевой папке файл Message*_БП_УТ.xml. Из-за этого несоответствия базы остаются «слепыми» по отношению к каталогу обмена.
Если ваша база «1С:Бухгалтерия» была переведена с редакции 2.0 на 3.0, старые настройки обмена ломаются из-за кардинального изменения структуры метаданных и перехода на новую подсистему синхронизации. Фирма 1С предусмотрела этот сценарий и включила в дистрибутив специальный инструмент.
Рассмотрим по шагам, как правильно перенести старые настройки обмена без потери зарегистрированных изменений и создания дублей узлов:
C:\Users\[ИмяПользователя]\AppData\Roaming\1C\1cv8\tmplts\1c\Accounting\[Номер_Релиза]\Обмены данными\Обмен с конфигурацией Управление торговлей, ред. 10.3.Если автоматическая конвертация не помогла или вы решили полностью избавиться от старых «хвостов» в базах, настройку необходимо выполнить с нуля. Самая главная и распространенная ошибка пользователей — это ручное создание новой синхронизации в обеих базах независимо друг от друга. Настройку нужно производить строго последовательно.
Разберем правильный алгоритм совместной настройки:
ОбменУправлениеТорговлейБухгалтерияПредприятия30. Удалите все созданные ранее ошибочные узлы обмена, за исключением предопределенного узла «Этот узел» (он помечен специальной иконкой компьютера). Если система не дает удалить узел из-за наличия зарегистрированных изменений, воспользуйтесь программным кодом для очистки регистрации. Например, запустив в консоли обработку со следующим кодом:
ВыбранныйУзел = ПланыОбмена.ОбменУправлениеТорговлейБухгалтерияПредприятия30.НайтиПоКоду("БП");
Если НЕ ВыбранныйУзел.Пустая() Тогда
ПланыОбмена.УдалитьРегистрациюИзменений(ВыбранныйУзел);
КонецЕсли;
УТ, для БП — БП).Настройки_для_БП.xml) в доступную директорию.Настройки_для_БП.xml, выгруженному из торговли.Этот подход гарантирует, что БП 3.0 автоматически создаст узел обмена с точно такими же GUID-идентификаторами и кодами узлов, которые прописаны в УТ 10.3. Проблема рассинхронизации имен файлов будет полностью исключена.
Если по каким-то причинам вы не хотите настраивать обмен заново, можно попытаться исправить коды узлов вручную. Для этого нам потребуется сопоставить параметры планов обмена в обеих базах.
Выполним ручную сверку по шагам:
ОбменУправлениеТорговлейБухгалтерияПредприятия30. Обратите внимание на код узла «Этот узел» (например, УТ) и код созданного узла корреспондента «Бухгалтерия предприятия» (например, БП).БП, а код узла корреспондента «Управление торговлей» должен строго равняться УТ.УТ (русскими буквами) и YT (латинскими буквами) — это совершенно разные строки. Рекомендуется стереть коды в обеих базах и написать их заново в русской раскладке клавиатуры, используя верхний регистр (заглавные буквы).Помимо кодов узлов, успешный обмен между старой версией УТ 10.3 и новой БП 3.0 зависит еще от нескольких критических факторов, о которых нельзя забывать:
Тип не определен (РегистрСведенийЗапись.АдресныеСокращения). Это происходит из-за различий в хранении адресных данных ФИАС/ГАР в современных базах и устаревших механизмах УТ 10.3. Чтобы избежать этой ошибки, перед выполнением обмена обновите адресные сведения в обеих базах до актуального состояния.Применяя данные методики на практике, мы гарантированно избавимся от ошибки «невидимости» файлов обмена, обеспечим правильную адресацию xml-пакетов в сетевой папке и добьемся стабильной, бесперебойной синхронизации данных между торговой и бухгалтерской базами.