При настройке обмена между «Управление торговлей» редакции 10.3 и «Бухгалтерия предприятия» редакции 3.0 многие сталкиваются с неприятной ситуацией. Из УТ данные (даже новые и небольшого объема) выгружаются нормально и быстро, но при загрузке в БП процесс останавливается на сообщении «Не удалось загрузить данные из "%1" (этап анализа данных)» или просто бесконечно висит статус «выполняется анализ данных». В консоли администрирования сервера 1С при этом появляется фоновое задание, которое может работать сутками без какого-либо результата.
В этой статье мы подробно разберем причины такого поведения системы и рассмотрим эффективные методы решения этой проблемы. Проанализируем ситуацию по шагам, чтобы вы могли применить подходящий вариант для вашей базы.
Часто зависание происходит из-за появления битых ссылок или дублей в регистрах бухгалтерии. Когда система пытается сопоставить данные, она попадает в бесконечный цикл. Разберем по шагам, как это исправить:
ПубличныеИдентификаторы.Очистка косячных записей в этом регистре в большинстве случаев позволяет фоновому заданию успешно завершить этап анализа и перейти непосредственно к загрузке объектов.
Рассмотрим хитрость, которая отлично помогает, если вам нужно срочно перенести данные (например, для сдачи квартальной отчетности), а времени на глубокую отладку нет. Суть метода заключается в отказе от прямого одностороннего обмена в пользу двустороннего обмена через локальную папку.
Message_УТ_БП.xml.Message_БП_УТ.xml. Если вы не хотите, чтобы в УТ попали изменения из бухгалтерии, просто удалите этот файл из папки обмена.При следующем сеансе УТ ничего не загрузит, но корректно выгрузит новую порцию данных для БП. В качестве альтернативного варианта переноса первичных документов в обход синхронизации можно использовать обработку выгрузки из УТ 10.3 в БП 3.0.
Если конфигурации обеих баз были обновлены (особенно это касается БП 3.0, которая часто меняет структуру), старые настройки узлов обмена могут начать сбоить. Посмотрим, как пересоздать обмен начисто.
Обмен данными).Пересоздание узлов помогает сбросить некорректно зарегистрированные изменения и устраняет ошибку «этап анализа данных». Для обновления правил выгрузки под актуальные релизы конфигураций можно использовать готовые правила обмена между УТ 10.3 и БП 3.0.
Если в УТ 10.3 есть вписанные дополнительные реквизиты или доработки, стандартные правила могут на них «спотыкаться». Проанализируем пример, где подвисание происходит в обработчике «После загрузки данных» из-за большого объема.
В правилах конвертации можно найти следующий код, который вызывает проблемы:
Если Параметры.ДокументыСОпределениемДопРеквизитов.Количество() > 0 Тогда
// выполнение проверок доп. реквизитов
КонецЕсли;
Если вы не используете выгрузку дополнительных реквизитов, вы можете закомментировать этот блок в правилах обмена (через конфигурацию «Конвертация данных») или отключить передачу этих свойств в настройках самого обмена.
Посмотрим на ошибки ввода данных пользователями. Система может зависнуть при обработке контактной информации, если данные были скопированы откуда-то со специальными нечитаемыми символами (перенос строки, неразрывный пробел и т.д.).
Что нужно сделать:
РегистрацияИзмененийДляОбмена.Также зависание вызывает ошибка иерархии (циклические ссылки), когда в справочнике Номенклатура или Контрагенты группа становится родителем самой себя. Проверьте справочники на циклы встроенными отчетами или обработками.
Рассмотрим еще несколько неочевидных технических моментов, которые стоит проверить:
regsvr32 "путь_к_bin_платформы\comcntr.dll".Выясним причину последовательно, начиная с проверки правил и регистра «Публичные идентификаторы», переходя к перезапуску фоновых заданий и использованию двустороннего обмена. Комбинируя описанные решения, вы обязательно сможете восстановить корректный обмен между УТ 10.3 и БП 3.0.