Обмен данными между конфигурациями Управление торговлей 10 и Бухгалтерия предприятия 2.0 часто сопровождается трудностями, особенно когда часть документов «зависает» и не попадает в план обмена. В этой статье мы разберем основные причины, почему это происходит, и пошагово определим, что нужно проверить, чтобы восстановить корректный поток данных.
Прежде чем приступать к глубокому анализу правил обмена, давайте рассмотрим наиболее вероятные причины, лежащие на поверхности. Часто проблема кроется в том, что документ создается с параметрами, которые не проходят «фильтр» обмена.
Отражать в бухгалтерском учете (или аналогичной) в самом документе. Если эта настройка не установлена, правила обмена могут игнорировать объект, так как он не считается бухгалтерским документом. Убедитесь, что для проблемных типов документов эта опция активна.ПланОбмена, то документ просто не зарегистрируется в очереди на выгрузку. Проверьте права пользователя, под которым работает конкретный менеджер или обработка создания документов. Вы можете временно дать полные права или проверить роль, отвечающую за работу с РегистрациейИзменений.Если с правами всё в порядке, перейдем к анализу того, как объект попадает в очередь на отправку. Механизм обмена в 1С:Предприятие 8 работает на основе подписок на события. Если документ не попадает в регистрацию, значит, механизм ПриЗаписи или ПослеЗаписи не отрабатывает должным образом.
Попробуйте выполнить следующие действия:
Ошибка «номер сообщения меньше или равен» свидетельствует о нарушении синхронизации между базами. Это происходит, когда база-приемник «не понимает», какой пакет данных был получен последним. В такой ситуации система может считать, что все данные уже успешно переданы.
Для исправления этой ситуации рекомендуем выполнить процедуру сброса номеров сообщений:
Важно: данную операцию следует проводить осторожно, так как она может привести к повторной отправке всех данных, если не настроен отбор.
// Пример логики проверки регистрации объекта
// Проверяем, зарегистрирован ли документ в узле обмена
Если ПланыОбмена.ОбменУТБП.Выбран() Тогда
Выборка = ПланыОбмена.ВыбратьИзменения(УзелОбмена, НомерСообщения);
Пока Выборка.Следующий() Цикл
// Анализируем список зарегистрированных объектов
КонецЦикла;
КонецЕсли;
Если вы хотите понять, почему конкретный документ не уходит, воспользуйтесь стандартной обработкой Регистрация изменений для обмена данными. Это инструмент, который позволяет увидеть, какие объекты «висят» в очереди.
Разберем процесс поиска причины по шагам:
Регистрация изменений для обмена данными.Бухгалтерией 2.0.Бухгалтерию он не попадает, значит, проблема в правилах конвертации (КД 2.0) или в логических проверках на стороне приемника.Подводя итог нашей совместной работы, подчеркнем: чаще всего проблема не в самих правилах обмена, а в условиях, при которых происходит запись документа. Если документ корректно выгружается после перепроведения, значит:
Либо у пользователя не было прав на регистрацию при первичном создании;
Либо автоматическая процедура создания документа использует методы, не вызывающие стандартные события ПередЗаписью/ПриЗаписи в плане обмена.
Всегда начинайте поиск с прав доступа пользователя, а затем переходите к анализу кода, отвечающего за автоматическое создание документов. Если ни один из способов не помогает, выполните принудительную регистрацию изменений для проблемных объектов через консоль или обработку, чтобы «протолкнуть» их в следующую выгрузку.