Почему после переноса документа через КД 2.1 не формируются проводки по сумме?

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

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

Примечательно, что если в этот же перенесенный документ добавить новую строку, движение по сумме для нее всё равно не формируется. Однако, если создать аналогичный документ полностью вручную с нуля, проводки по сумме делаются корректно. Посмотрим, в чем может быть причина такого поведения и как правильно ее диагностировать.

Шаг 1. Локализация проблемы: сравниваем объекты

Когда визуально на форме перенесенного и созданного вручную документа все реквизиты и счета учета совпадают, проблема почти всегда кроется в скрытых данных или связанных справочниках. Проанализируем ситуацию шаг за шагом. Первое правило при поиске подобных «фантомных» ошибок — сравнить данные двух объектов на уровне базы данных.

Для этого лучше всего использовать консоль запросов. Не стоит полагаться только на визуальный осмотр формы документа, так как многие реквизиты могут быть скрыты от пользователя или не выведены на форму. Выясним причину, попытавшись подставить в новый, созданный вручную документ, объекты из перенесенного. Как показала практика, если в новом, полностью рабочем документе выбрать перенесенного контрагента, движения по сумме также пропадают.

Отсюда делаем важный вывод: проблема не в самом документе поступления и не в его табличной части, а в перенесенном элементе справочника Контрагенты или связанном с ним справочнике ДоговорыКонтрагентов.

Шаг 2. Разбираем причины «поломки» проводок из-за контрагента

Основываясь на механизмах работы БП 3.0, давайте разберем, какие именно ошибки при переносе контрагента и его договора через КД 2.1 могут блокировать формирование суммовых проводок.

  1. Некорректный реквизит «Вид договора». При выборе контрагента в документ подтягивается его договор. Если при переносе вид договора был заполнен неверно (например, указан СКомитентом вместо СПоставщиком), система воспринимает это как поступление товаров на комиссию. Такие товары приходуются на забалансовый счет (например, 004) только в количественном выражении, а суммы на балансовых счетах игнорируются.
  2. Проблемы с валютой и курсами. Если перенесенный договор имеет признак расчетов в иностранной валюте или условных единицах, алгоритмам 1С для расчета рублевого эквивалента требуются курсы валют на дату документа. Если курсы не загружены или реквизиты валюты перенеслись криво, система может записать нулевую сумму.
  3. Индивидуальные настройки счетов расчетов. Для контрагентов в 1С используется регистр сведений СчетаУчетаРасчетовСКонтрагентами. При переносе могли создаться записи с пустыми, некорректными или забалансовыми счетами по умолчанию. В результате документ не знает, куда относить стоимость.
  4. Ошибки в перенесенном «Типе цен». В договоре фиксируется ТипЦен. Если этот справочник перенесся без базовых параметров (валюта, флаг включения НДС), алгоритмы расчета стоимости при проведении документа могут отработать с ошибкой, вернув нулевой результат.
  5. Флаг обособленного подразделения. Если контрагенту случайно или ошибочно установлен признак ОбособленноеПодразделение, но не заполнен ГоловнойКонтрагент, внутренние механизмы закрытия взаиморасчетов БП 3.0 могут сбоить.
  6. Отсутствие служебных реквизитов. Когда бухгалтер создает контрагента или договор вручную, отрабатывают процедуры модуля объекта (ПриЗаписи, ОбработкаЗаполнения и т.д.), которые заполняют скрытые реквизиты, статусы и ключи аналитики. При загрузке через обмен эти процедуры часто программно отключаются (режим ОбменДанными.Загрузка = Истина). Если правила в КД 2.1 не покрывают эти реквизиты, объект сохраняется «полупустым».

Шаг 3. Как исправить правила конвертации?

Теперь, когда мы выяснили, что корень проблемы — в справочниках Контрагенты и ДоговорыКонтрагентов, рассмотрим, как это исправить.

Во-первых, откройте универсальный отчет или консоль запросов и детально, поколоночно сравните все реквизиты «проблемного» договора с эталонным (созданным вручную).

Во-вторых, в правилах конвертации данных (ПКО Контрагенты и ПКО ДоговорыКонтрагентов) проверьте маппинг реквизитов. Обратите особое внимание на значения по умолчанию. Если вы переносите данные из самописной или сильно устаревшей конфигурации, некоторые перечисления (например, виды договоров) могут не совпадать по наименованиям или идентификаторам, из-за чего в базе-приемнике устанавливается пустое значение.

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

Внимательный анализ связанных объектов-справочников — залог успешного обмена документами. Обязательно проверяйте договоры, типы цен и счета учета, и тогда документы будут сразу проводиться корректно, формируя не только количественные, но и суммовые движения.

← На главную