Почему не загружаются данные в 1С:Бухгалтерию при синхронизации с 1С:Управление торговлей и как это исправить

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет Торговля и дистрибуция
← На главную

Синхронизация данных между конфигурациями «1С:Управление торговлей» (УТ 11) и «1С:Бухгалтерия предприятия» (БП 3.0) — один из самых популярных сценариев автоматизации. Однако в процессе настройки администраторы часто сталкиваются со следующей проблемой: выгрузка из УТ проходит успешно, файл обмена создается и заполняется данными, но при попытке загрузить его в БП программа рапортует об успешном завершении, при этом новые документы не появляются, а журнал регистрации остается девственно чистым.

Давайте подробно разберем, почему происходит этот «тихий» отказ от загрузки и как пошагово решить данную проблему.

Причина 1: Несовпадение кодов узлов обмена и префиксов (тихая фильтрация)

Это самая распространенная техническая причина, по которой 1С игнорирует загружаемый файл без записи каких-либо ошибок в журнал регистрации. Дело в том, что в заголовке XML-файла выгрузки всегда жестко прописывается код отправителя и код получателя. Например, отправитель — УТ, получатель — БП.

Когда вы запускаете синхронизацию в «1С:Бухгалтерии», система считывает заголовок файла. Если код получателя, указанный в файле (например, БП), не совпадает с кодом текущего узла, настроенного в этой конкретной базе БП (например, там по ошибке указано 001 или BP латиницей), то программа считает, что этот файл предназначен для другой информационной базы. Программа просто игнорирует его содержимое и завершает сеанс без ошибок, так как формально никакой ошибки чтения файла не произошло — данные просто адресованы не ей.

Для проверки и исправления кодов узлов выполним следующие действия:

  1. Перейдем в режим администратора в обеих базах.
  2. Откроем «Функции для технического специалиста» (или «Все функции»).
  3. Найдем раздел «Планы обмена» и выберем план обмена СинхронизацияДанныхЧерезУниверсальныйФормат.
  4. Проанализируем коды узлов. Они должны зеркально соответствовать друг другу. Код «Этот узел» в УТ должен быть равен коду получателя в БП. Код «Этот узел» в БП должен совпадать с кодом получателя в УТ.

Проверить соответствие кодов программно можно с помощью несложного запроса к плану обмена. Проанализируем следующий пример кода:


Выборка = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.Выбрать();
Пока Выборка.Следующий() Цикл
    Сообщить("Наименование: " + Выборка.Наименование + " | Код: " + Выборка.Код);
КонецЦикла;

Причина 2: Специфика Базовой версии «1С:Бухгалтерии»

Если в качестве принимающей стороны выступает «1С:Бухгалтерия предприятия Базовая», в силу вступают жесткие лицензионные ограничения конфигурации. Базовая версия поддерживает ведение учета строго по одной организации.

Выясним, какие подводные камни здесь кроются:

Рассмотрим, как правильно настроить фильтрацию в УТ. При настройке синхронизации в УТ на этапе определения состава отправляемых данных обязательно укажем ручную фильтрацию по организации. Необходимо четко ограничить выгрузку только одним юридическим лицом, которое зарегистрировано в БП.

Причина 3: Нарушение сценария создания первоначального обмена

При первом обмене данными через локальный или сетевой каталог критически важно соблюдать правильную последовательность действий. Если создать настройки в УТ и БП независимо друг от друга «с нуля», базы не смогут связаться друг с другом, так как их внутренние идентификаторы обмена не совпадут.

Разберем по шагам правильный алгоритм настройки первого обмена:

  1. Запускаем настройку синхронизации на стороне «1С:Управление торговлей». Проходим все шаги ассистента настройки, указываем каталог обмена и префиксы.
  2. Выполняем первую выгрузку данных из УТ. В целевом каталоге обмена должны появиться два файла: файл с данными (например, Message_УТ_БП.xml) и специальный файл настроек подключения (обычно это небольшой файл с расширением .xml, содержащий параметры конфигурации обмена).
  3. Переходим в «1С:Бухгалтерию». Открываем настройки синхронизации данных и нажимаем кнопку «Создать».
  4. В открывшемся окне выбора **обязательно** выбираем пункт «Продолжить настройку по файлу, созданному в другой программе» (или аналогичный пункт загрузки готовых настроек) и указываем путь к файлу настроек, который только что создала УТ.

Только при таком подходе БП автоматически примет правильные коды узлов и префиксы, а при первом запуске выдаст ожидаемое диалоговое окно: «Обмен не выполнялся, выполнить первый обмен сейчас?». После этого откроется окно сопоставления данных, где мы сможем вручную связать организацию, склады и контрагентов.

Причина 4: Проблема с маской имени файла

Проанализируем ситуацию, когда имена файлов не соответствуют ожиданиям систем. При обмене через каталог БП ищет файл по строго определенной маске, которая зависит от префиксов информационных баз: Message_[ПрефиксОтправителя]_[ПрефиксПолучателя].xml.

Если префиксы баз заполнены некорректно или содержат латинские символы вместо кириллицы (например, в УТ настроен префикс УТ русскими буквами, а в БП настроен префикс отправителя как UT латиницей), БП будет искать файл Message_UT_БП.xml. Поскольку в каталоге лежит файл Message_УТ_БП.xml, программа его просто не увидит. Процедура синхронизации завершится за долю секунды с пометкой «Синхронизация завершена», но фактического чтения данных не произойдет.

Чек-лист для быстрого решения проблемы

Если вы столкнулись с «тихим» игнорированием файлов обмена, рекомендуем выполнить следующие действия:

  1. Полностью удалите текущие настройки обмена в обеих информационных базах. Перед удалением обязательно очистите зарегистрированные к отправке объекты, чтобы избежать зависания транзакций.
  2. В БП проверьте карточку организации. Убедитесь, что ИНН и КПП заполнены верно, и организация отмечена флажком «Основная».
  3. Создайте настройку в УТ заново, выгрузите данные и файл параметров в пустой каталог.
  4. В БП загрузите настройки из файла параметров, выполните сопоставление объектов и завершите первый сеанс синхронизации.
← На главную