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