Проблема дублирования банковских документов при загрузке выписки в 1С:Комплексная автоматизация 2 (КА2) или 1С:ERP — одна из самых частых и неприятных ситуаций в работе бухгалтера и технического специалиста. Ситуация обычно выглядит так: вы создаете документ Списание безналичных денежных средств, выгружаете его в клиент-банк, а после загрузки подтверждения из банка в журнале появляется еще один точно такой же документ. Давайте разберем по шагам, почему это происходит и как устранить проблему, разделяя «визуальные» дубли и реальное создание новых объектов.
Прежде всего, нам необходимо выяснить природу проблемы. Откройте список документов и попробуйте открыть оба «дубля». Если при открытии обоих строк открывается один и тот же документ (с одним и тем же номером, датой и внутренним идентификатором), то мы имеем дело с ошибкой отображения в динамическом списке. Если же это два разных документа, которые можно редактировать независимо, — значит, система не смогла найти существующий документ при загрузке и создала новый. Для быстрой проверки и детального сопоставления движений средств, документов и статей ДДС подойдёт отчет для комплексного анализа безналичных платежей.
В современных конфигурациях на базе 1С:ERP (включая КА2) для ускорения работы списков используется специальный механизм — Реестр документов. Информация в журналах берется не напрямую из таблиц документов, а из вспомогательного регистра сведений РеестрДокументов. Рассмотрим, как это работает и почему возникают ошибки.
Данные в этом регистре привязаны к справочнику Ключи реестра документов. Если в результате какого-то сбоя, некорректного обновления или группового изменения реквизитов (например, после объединения дублей контрагентов) для одного документа создается два ключа, то в журнале вы увидите две строки. Физически документ один, но в списке их два.
Проанализируем ситуацию и выполним следующие действия:
Ключи реестра документов.Реестр документов. Если мы видим там лишние записи, их необходимо удалить.Иногда помогает полное перестроение реестра для конкретного типа документов. Для этого можно воспользоваться небольшой обработкой, которая программно перезаписывает документы, заставляя систему обновить записи в регистре:
Выборка = Документы.СписаниеБезналичныхДенежныхСредств.Выбрать(ДатаНачала, ДатаОкончания);
Пока Выборка.Следующий() Цикл
Объект = Выборка.ПолучитьОбъект();
Объект.ОбменДанными.Загрузка = Истина; // Чтобы не срабатывали лишние проверки
Объект.Записать(РежимЗаписиДокумента.Запись);
КонецЦикла;
Если в базе создаются именно новые документы (физические дубли), значит, типовой алгоритм загрузки не смог найти «свой» документ. Рассмотрим основные критерии поиска, которые использует 1С при импорте файла выписки:
0000-00005). Банк часто возвращает просто номер 5. Если в настройках обмена или в правилах поиска не настроено корректное отсечение префиксов, система не опознает документ.Выясним причину, проверив поле Номер входящего документа и Дата входящего документа. В КА2 именно эти поля являются ключевыми для связи с банковской выпиской. При ручном создании списания убедитесь, что эти реквизиты заполнены так же, как они будут отражены в банковском файле.
Проанализируем справочник Банковские счета контрагентов. Бывают ситуации, когда один и тот же номер счета (например, транзитный или счет казначейства) ошибочно заведен для нескольких контрагентов. Рассмотрим механизм поиска при загрузке:
Списание безналичных денежных средств, система решит, что подходящего документа нет, и создаст новый на «своего» контрагента.Совет: Всегда проверяйте уникальность связки «Контрагент + Расчетный счет» в базе данных.
Если вы используете технологию DirectBank, взаимодействие с банком идет через XML-пакеты. Каждому платежу присваивается уникальный идентификатор ИдентификаторПлатежа (GUID).
Рассмотрим сценарий возникновения дубля:
вы подготовили документ в 1С и выгрузили его в банк старым способом (через текстовый файл 1c_to_kl.txt). В этом случае GUID не всегда корректно фиксируется. Затем вы загружаете выписку через DirectBank. Банк возвращает транзакцию с уникальным ID. Система ищет в базе документ с таким ID, не находит его (так как при файловой выгрузке он не прописался) и создает новый документ.
Чтобы избежать этого, старайтесь использовать один и тот же канал обмена (либо только файлы, либо только DirectBank) для конкретного банковского счета.
В 1С:Комплексная автоматизация 2 документ Списание безналичных денежных средств имеет реквизит Статус. Рассмотрим, как он влияет на загрузку:
Не подтверждено.Подтверждено.Проверьте настройки в обработке Загрузка выписки. Убедитесь, что система настроена на обновление существующих документов, а не на создание только новых. Также обратите внимание на заполнение аналитики: если в созданном вручную документе не заполнены обязательные поля, которые заполняются при загрузке (например, Статья ДДС), система может посчитать такой документ «неподходящим» и создать дубль. Чтобы гибко управлять списком импортируемых строк и исключать уже проверенные документы, можно использовать расширение для выборочной загрузки безналичных платежей.
Для устранения задвоений мы рекомендуем следующий алгоритм действий:
Ключи реестра документов).Номер входящего документа в списаниях, созданных до загрузки выписки.Безналичные платежи внимательно изучите протокол загрузки — там часто пишутся предупреждения о том, почему документ не был сопоставлен автоматически.