Почему задваиваются платежные поручения и списания в 1С:Комплексная автоматизация 2

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

Проблема дублирования банковских документов при загрузке выписки в 1С:Комплексная автоматизация 2 (КА2) или 1С:ERP — одна из самых частых и неприятных ситуаций в работе бухгалтера и технического специалиста. Ситуация обычно выглядит так: вы создаете документ Списание безналичных денежных средств, выгружаете его в клиент-банк, а после загрузки подтверждения из банка в журнале появляется еще один точно такой же документ. Давайте разберем по шагам, почему это происходит и как устранить проблему, разделяя «визуальные» дубли и реальное создание новых объектов.

Различие между визуальным задвоением и физическими дублями

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

Причина 1: Сбои в регистре «Реестр документов»

В современных конфигурациях на базе 1С:ERP (включая КА2) для ускорения работы списков используется специальный механизм — Реестр документов. Информация в журналах берется не напрямую из таблиц документов, а из вспомогательного регистра сведений РеестрДокументов. Рассмотрим, как это работает и почему возникают ошибки.

Данные в этом регистре привязаны к справочнику Ключи реестра документов. Если в результате какого-то сбоя, некорректного обновления или группового изменения реквизитов (например, после объединения дублей контрагентов) для одного документа создается два ключа, то в журнале вы увидите две строки. Физически документ один, но в списке их два.

Проанализируем ситуацию и выполним следующие действия:

  1. Перейдем в меню «Все функции» (или «Функции для технического специалиста»).
  2. Найдем справочник Ключи реестра документов.
  3. В форме списка часто присутствуют стандартные команды по поиску и удалению дублей.
  4. Также проверим регистр сведений Реестр документов. Если мы видим там лишние записи, их необходимо удалить.

Иногда помогает полное перестроение реестра для конкретного типа документов. Для этого можно воспользоваться небольшой обработкой, которая программно перезаписывает документы, заставляя систему обновить записи в регистре:


Выборка = Документы.СписаниеБезналичныхДенежныхСредств.Выбрать(ДатаНачала, ДатаОкончания);
Пока Выборка.Следующий() Цикл
    Объект = Выборка.ПолучитьОбъект();
    Объект.ОбменДанными.Загрузка = Истина; // Чтобы не срабатывали лишние проверки
    Объект.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;

Причина 2: Ошибки сопоставления по номеру и дате

Если в базе создаются именно новые документы (физические дубли), значит, типовой алгоритм загрузки не смог найти «свой» документ. Рассмотрим основные критерии поиска, которые использует 1С при импорте файла выписки:

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

Причина 3: Дублирование расчетных счетов контрагентов

Проанализируем справочник Банковские счета контрагентов. Бывают ситуации, когда один и тот же номер счета (например, транзитный или счет казначейства) ошибочно заведен для нескольких контрагентов. Рассмотрим механизм поиска при загрузке:

  1. Система читает номер счета из файла выписки.
  2. Ищет этот номер в справочнике банковских счетов.
  3. Если находит несколько владельцев, берет первого попавшегося.
  4. Если найденный контрагент не совпадает с тем, что указан в вашем заранее созданном документе Списание безналичных денежных средств, система решит, что подходящего документа нет, и создаст новый на «своего» контрагента.

Совет: Всегда проверяйте уникальность связки «Контрагент + Расчетный счет» в базе данных.

Причина 4: Использование 1С:ДиректБанк (DirectBank)

Если вы используете технологию DirectBank, взаимодействие с банком идет через XML-пакеты. Каждому платежу присваивается уникальный идентификатор ИдентификаторПлатежа (GUID).

Рассмотрим сценарий возникновения дубля: вы подготовили документ в 1С и выгрузили его в банк старым способом (через текстовый файл 1c_to_kl.txt). В этом случае GUID не всегда корректно фиксируется. Затем вы загружаете выписку через DirectBank. Банк возвращает транзакцию с уникальным ID. Система ищет в базе документ с таким ID, не находит его (так как при файловой выгрузке он не прописался) и создает новый документ.

Чтобы избежать этого, старайтесь использовать один и тот же канал обмена (либо только файлы, либо только DirectBank) для конкретного банковского счета.

Причина 5: Статусы документов в КА2

В 1С:Комплексная автоматизация 2 документ Списание безналичных денежных средств имеет реквизит Статус. Рассмотрим, как он влияет на загрузку:

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

Итоги и рекомендации

Для устранения задвоений мы рекомендуем следующий алгоритм действий:

  1. Проверьте, не являются ли дубли «фантомными» записями в реестре (очистите Ключи реестра документов).
  2. Убедитесь, что номера документов в 1С и в банке совпадают (проверьте ведущие нули).
  3. Всегда заполняйте Номер входящего документа в списаниях, созданных до загрузки выписки.
  4. Проверьте справочник расчетных счетов на наличие дублей номеров счетов у разных контрагентов.
  5. В журнале Безналичные платежи внимательно изучите протокол загрузки — там часто пишутся предупреждения о том, почему документ не был сопоставлен автоматически.
← На главную