Синхронизация данных между конфигурациями «1С:Управление торговлей» (УТ 11) и «1С:Бухгалтерия предприятия» (БП 3.0) — один из самых популярных сценариев автоматизации. Однако в процессе настройки администраторы часто сталкиваются со следующей проблемой: выгрузка из УТ проходит успешно, файл обмена создается и заполняется данными, но при попытке загрузить его в БП программа рапортует об успешном завершении, при этом новые документы не появляются, а журнал регистрации остается девственно чистым.
Давайте подробно разберем, почему происходит этот «тихий» отказ от загрузки и как пошагово решить данную проблему.
Это самая распространенная техническая причина, по которой 1С игнорирует загружаемый файл без записи каких-либо ошибок в журнал регистрации. Дело в том, что в заголовке XML-файла выгрузки всегда жестко прописывается код отправителя и код получателя. Например, отправитель — УТ, получатель — БП.
Когда вы запускаете синхронизацию в «1С:Бухгалтерии», система считывает заголовок файла. Если код получателя, указанный в файле (например, БП), не совпадает с кодом текущего узла, настроенного в этой конкретной базе БП (например, там по ошибке указано 001 или BP латиницей), то программа считает, что этот файл предназначен для другой информационной базы. Программа просто игнорирует его содержимое и завершает сеанс без ошибок, так как формально никакой ошибки чтения файла не произошло — данные просто адресованы не ей.
Для проверки и исправления кодов узлов выполним следующие действия:
СинхронизацияДанныхЧерезУниверсальныйФормат.Проверить соответствие кодов программно можно с помощью несложного запроса к плану обмена. Проанализируем следующий пример кода:
Выборка = ПланыОбмена.СинхронизацияДанныхЧерезУниверсальныйФормат.Выбрать();
Пока Выборка.Следующий() Цикл
Сообщить("Наименование: " + Выборка.Наименование + " | Код: " + Выборка.Код);
КонецЦикла;
Если в качестве принимающей стороны выступает «1С:Бухгалтерия предприятия Базовая», в силу вступают жесткие лицензионные ограничения конфигурации. Базовая версия поддерживает ведение учета строго по одной организации.
Выясним, какие подводные камни здесь кроются:
GUID. Если организация в БП была создана вручную, а не загружена из УТ при первом обмене, автоматического сопоставления может не произойти. Программа откажется записывать документы, чтобы не создать дубль организации.Рассмотрим, как правильно настроить фильтрацию в УТ. При настройке синхронизации в УТ на этапе определения состава отправляемых данных обязательно укажем ручную фильтрацию по организации. Необходимо четко ограничить выгрузку только одним юридическим лицом, которое зарегистрировано в БП.
При первом обмене данными через локальный или сетевой каталог критически важно соблюдать правильную последовательность действий. Если создать настройки в УТ и БП независимо друг от друга «с нуля», базы не смогут связаться друг с другом, так как их внутренние идентификаторы обмена не совпадут.
Разберем по шагам правильный алгоритм настройки первого обмена:
Message_УТ_БП.xml) и специальный файл настроек подключения (обычно это небольшой файл с расширением .xml, содержащий параметры конфигурации обмена).Только при таком подходе БП автоматически примет правильные коды узлов и префиксы, а при первом запуске выдаст ожидаемое диалоговое окно: «Обмен не выполнялся, выполнить первый обмен сейчас?». После этого откроется окно сопоставления данных, где мы сможем вручную связать организацию, склады и контрагентов.
Проанализируем ситуацию, когда имена файлов не соответствуют ожиданиям систем. При обмене через каталог БП ищет файл по строго определенной маске, которая зависит от префиксов информационных баз: Message_[ПрефиксОтправителя]_[ПрефиксПолучателя].xml.
Если префиксы баз заполнены некорректно или содержат латинские символы вместо кириллицы (например, в УТ настроен префикс УТ русскими буквами, а в БП настроен префикс отправителя как UT латиницей), БП будет искать файл Message_UT_БП.xml. Поскольку в каталоге лежит файл Message_УТ_БП.xml, программа его просто не увидит. Процедура синхронизации завершится за долю секунды с пометкой «Синхронизация завершена», но фактического чтения данных не произойдет.
Если вы столкнулись с «тихим» игнорированием файлов обмена, рекомендуем выполнить следующие действия: