Почему не проводятся документы после обмена между УТ 10.3 и БП 3.0 и как это исправить

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Анализируем специфику COM-соединения

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

Шаг 1. Переход к файловому обмену для локализации ошибки

Первым делом нам необходимо исключить влияние механизмов COM-соединения. Рассмотрим алгоритм действий:

  1. Временно переключим настройки синхронизации с «Прямого подключения» на «Обмен через файл» (формат XML).
  2. Выгрузим из УТ 10.3 ровно один проблемный документ.
  3. Загрузим его в БП 3.0 вручную через обработку «Универсальный обмен данными в формате XML».
  4. Попробуем провести загруженный документ вручную в интерфейсе БП.

Проанализируем результат: если при ручном проведении система выдаст конкретную ошибку (например, «Не заполнен счет учета» или «Не указан способ отражения расходов»), значит, проблема в правилах обмена (ПКО), которые не передают новые обязательные реквизиты, появившиеся в свежих релизах БП 3.0 (например, связанные с ФСБУ 5/2019 или 25/2018).

Шаг 2. Использование отладки фоновых заданий

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

Разберем, как настроить автоматическое подключение отладчика:

  1. Откроем конфигуратор базы БП 3.0.
  2. Перейдем в меню Отладка -> Подключение.
  3. В открывшемся окне нажмем кнопку Настройка.
  4. Установим флажок Фоновые задания в списке типов конфигураций для автоматического подключения.
  5. Установим точку останова в модуле нужного документа, например, в процедуре ПередЗаписью или ОбработкаПроведения.

Теперь при запуске обмена из УТ 10.3 конфигуратор БП 3.0 автоматически «подцепится» к фоновому процессу, который выполняет запись и проведение. Это позволит нам пошагово пройти по коду и увидеть, в какой момент переменная Отказ принимает значение Истина.

Шаг 3. Проверка режима загрузки данных

Проанализируем код правил обмена. Часто в ПВД (Правилах выгрузки данных) или в обработчиках «После загрузки» устанавливается режим загрузки. Посмотрим на пример кода, который может блокировать стандартные механизмы проведения БСП:


// В обработчике ПослеЗагрузки
Объект.ДополнительныеСвойства.Вставить("Загрузка", Истина);
Если Не Параметры.ОбменДанными.Загрузка Тогда
    Объект.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;

В новых версиях БП 3.0 флаг ОбменДанными.Загрузка = Истина отключает большинство проверок в модуле объекта. Если ваши правила принудительно вызывают проведение, но при этом установлены специфические свойства в ДополнительныеСвойства, логика проведения может отработать не полностью. Проверьте, не сбрасываются ли критически важные параметры в модуле ОбщегоНазначения или в расширениях, которые могут быть установлены в БП.

Шаг 4. Анализ Журнала регистрации в БП 3.0

Выясним причину «молчаливого» отказа через системный журнал. Часто разработчики забывают, что БП 3.0 пишет детальные логи обмена. Рассмотрим, на что обратить внимание:

  1. Откройте Журнал регистрации в базе БП.
  2. Установите фильтр по периоду (время проведения обмена) и по категории Обмен данными.
  3. Ищите записи с уровнем Ошибка или Предупреждение.

Нередко там можно встретить сообщения вида Поле объекта 'СтатусОплатыНДС' не обнаружено. Это происходит, когда платформа пытается программно заполнить реквизиты, которых нет в структуре правил обмена, созданных для старых релизов (например, 3.0.70).

Шаг 5. Проверка настроек синхронизации

После обновления БП 3.0 настройки синхронизации могут «слететь» к значениям по умолчанию. Проанализируем настройки в самой базе-приемнике:

  1. Перейдите в раздел Администрирование -> Синхронизация данных -> Настройки синхронизации.
  2. Откройте ваш узел обмена.
  3. Убедитесь, что установлен флажок Автоматически проводить загруженные документы.

Если этот флаг снят, БСП будет только записывать объекты. Если же флаг стоит, но проведения нет, проверьте регламентное задание Загрузка данных из других программ. В некоторых случаях система ставит документы в очередь на проведение, и если очередь переполнена или регламентные задания заблокированы, документы останутся в статусе «Записан».

Рекомендация по обновлению правил обмена

Поскольку вы используете правила от версии 3.0.70 для актуального релиза (выше 3.0.139), это является основной зоной риска. Посмотрим на ключевые изменения в структуре БП:

Для исправления рекомендуется взять типовые правила из актуального релиза БП 3.0 (они обычно лежат в каталоге установки шаблонов конфигурации в папке Синхронизация данных) и перенести в них ваши доработки. Это гарантирует, что все новые обязательные поля будут корректно инициализированы при загрузке.

Используя комплексный подход — отладку фоновых заданий, анализ журнала регистрации и проверку заполнения новых реквизитов ФСБУ — вы сможете быстро определить причину остановки проведения и восстановить работоспособность обмена.

← На главную