Как устранить создание пустых документов «Поступление доп. расходов» при синхронизации из УТ 11 в БП 3.0

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

При настройке синхронизации между конфигурациями 1С:Управление торговлей 11.4 и 1С:Бухгалтерия предприятия 3.0 Корп пользователи часто сталкиваются с неприятным эффектом: в бухгалтерии автоматически создаются пустые документы Поступление доп. расходов. Эти документы не содержат сумм, но автоматически привязываются как основание к Счету-фактуре полученному. В результате бухгалтер не может провести счет-фактуру, сверка документов становится затруднительной, а в базе накапливается «мусор».

В этой статье мы подробно разберем, почему возникает эта проблема, как проанализировать данные в источнике и какие методы решения существуют — от простых административных до программных.

Разберем причину: особенности формата EnterpriseData

Первым делом нам необходимо понять механику процесса. Современная синхронизация между УТ и БП работает через формат EnterpriseData (на базе XDTO). В этом формате один документ-источник из УТ может трансформироваться в несколько документов-приемников в БП. Это происходит из-за различий в архитектуре конфигураций.

Проанализируем работу общего модуля МенеджерОбменаЧерезУниверсальныйФормат в Бухгалтерии. В нем существует процедура ПКО_ПТиУ_ПоступлениеДопРасходов_ПриКонвертацииДанныхXDTO. Логика программы следующая: если в XML-файле обмена, который пришел из УТ, заполнен блок «Услуги» или «Расходы», БП инициирует создание отдельного объекта Поступление доп. расходов. Даже если итоговая сумма по этим строкам равна нулю или данные кажутся отсутствующими в интерфейсе УТ, сам факт наличия структуры в XDTO-пакете заставляет систему создавать документ.

Проблема скрытых строк в «Приобретении товаров и услуг»

Рассмотрим ситуацию в УТ 11. Часто пользователь добавляет услугу в документ Приобретение товаров и услуг, а затем удаляет её. Однако из-за особенностей работы платформы или конкретных релизов (например, 11.4.11.88) в табличной части Услуги на уровне базы данных может остаться «пустая» строка или ссылка на статью расходов с нулевыми показателями.

Для проверки этой гипотезы проанализируем документ через Консоль запросов или обработку Редактирование реквизитов. Нам нужно убедиться, что табличные части Услуги и Расходы действительно пусты. Если там есть записи с нулевыми суммами, механизм выгрузки воспримет их как команду для создания «Доп. расходов» в БП.

Влияние настроек статей расходов

Выясним еще одну причину — настройки справочника Статьи расходов в УТ. Если в документе закупки используется номенклатура с типом Услуга, у которой в статье расходов установлен вариант распределения «На себестоимость товаров», правила распределения автоматически классифицируют это как дополнительный расход.

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

Способ 1: Перенастройка синхронизации и сопоставление объектов

Если проблема носит массовый характер, наиболее эффективным «быстрым» решением будет полная перенастройка обмена. Разберем шаги:

  1. Удалите текущую настройку синхронизации в обеих базах (УТ и БП).
  2. Очистите зарегистрированные изменения в планах обмена.
  3. Создайте синхронизацию заново, используя актуальную версию формата (например, 1.6 или выше).
  4. При первой синхронизации выполните ручное сопоставление данных.
  5. В БП удалите все ранее созданные пустые документы Поступление доп. расходов и исправьте Счета-фактуры.

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

Способ 2: Изменение нумерации и префиксов

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

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

Способ 3: Программное решение через расширение (для разработчиков)

Если административные меры не помогают, мы можем вмешаться в процесс загрузки данных в БП с помощью расширения. Это самый надежный способ, так как он позволяет программно запретить создание пустых объектов.

Нам необходимо перехватить процедуру конвертации в модуле менеджера обмена. Проанализируем пример кода, который можно внедрить в расширение:


&После("ПКО_ПоступлениеДопРасходов_ПриКонвертацииДанныхXDTO")
Процедура Расш_ПКО_ПоступлениеДопРасходов_ПриКонвертацииДанныхXDTO(ДанныеXDTO, ПолученныеДанные, КомпонентыОбмена)
    
    // Проверяем, есть ли значимые данные в табличных частях
    Если ПолученныеДанные.Товары.Количество() = 0 
        И ПолученныеДанные.Услуги.Количество() = 0 
        И ПолученныеДанные.СуммаДокумента = 0 Тогда
        
        // Если документ пустой, отменяем его создание/загрузку
        ПолученныеДанные.Вставить("Отказ", Истина);
        
    КонецЕсли;
    
КонецПроцедуры

Этот код проверяет входящие данные. Если после конвертации из XDTO мы получили объект без строк и с нулевой суммой, мы устанавливаем флаг Отказ. Система просто проигнорирует этот объект, и в базе БП не появится лишних записей.

Резюме и рекомендации

Подведем итог. Появление пустых «Доп. расходов» — это чаще всего следствие «замусоренности» табличных частей в УТ или методическая особенность работы правил обмена 1С. Для решения проблемы рекомендуется:

Помните, что после удаления пустых документов в БП нужно обязательно перепроверить и перепровести соответствующие Счета-фактуры полученные, чтобы очистить список документов-оснований.

← На главную