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