Проблема с загрузкой банковской выписки — одна из самых критичных для оперативного учета. Ситуация, когда входящие платежи загружаются без проблем, а исходящие игнорируются системой без вывода явных ошибок, часто ставит в тупик даже опытных специалистов. Рассмотрим подробно, почему это происходит и как мы можем диагностировать и решить данную проблему.
Прежде чем погружаться в настройки системы, проанализируем техническую составляющую. Как показывает практика, в конфигурациях на базе 1С:ERP (а также КА и УТ 11) основной причиной «молчаливого» отказа системы создавать документы являются некорректно работающие расширения.
Если в вашей базе установлены расширения, затрагивающие форму СписаниеБезналичныхДенежныхСредств или саму обработку ОбменСБанками, это первый кандидат на проверку. Часто разработчики вносят изменения в логику формы, которые при программном создании документа вызывают исключение, перехватываемое типовым механизмом без вывода сообщения пользователю. Выясним причину, временно отключив расширения и повторив попытку загрузки.
Если отключение расширений не помогло, перейдем к отладке кода. Разберем ситуацию, когда при загрузке данных может быть принудительно установлен режим, блокирующий запись. В коде типовых решений часто встречается проверка флага ОбменДанными.Загрузка. Проанализируем, не установлена ли где-то в подписках на события или в расширениях логика, которая при ОбменДанными.Загрузка = Ложь прерывает запись объекта.
Также стоит обратить внимание на проверку проведения документа. Рассмотрим фрагмент кода, который часто встречается в логике загрузки и может влиять на результат:
Если Не ПодтвержденоВыпискойБанка И РежимЗаписи = РежимЗаписиДокумента.Проведение Тогда
РежимЗаписи = ?(Проведен, РежимЗаписиДокумента.ОтменаПроведения, РежимЗаписиДокумента.Запись);
ТекстСообщения = НСтр("ru = 'Проведение документа возможно только после установки флага ""Подтверждено выпиской банка"". Документ записан без движений'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, ЭтотОбъект, "НеПодтвержденоВыпискойБанка", "Объект", Ложь);
КонецЕсли;
В данном примере документ все равно должен быть записан, хоть и не проведен. Если же документ не создается вовсе, значит, выполнение прерывается на более раннем этапе валидации.
Одной из наиболее частых функциональных причин отсутствия исходящих платежей в 1С является включенный контроль заявок. В 1С:ERP исходящий платеж жестко привязан к операционному планированию. Разберем шаги проверки:
Списание безналичных денежных средств создан не будет.Иногда корень проблемы лежит в самом файле, который предоставляет банк. Проанализируем структуру текстового файла выписки. Каждая операция должна находиться в своей секции. Для исходящих платежей это обычно СекцияДокумент=Платежное поручение.
Рассмотрим возможные проблемы:
СекцияДокумент=Банковский ордер или Аккредитив, а в настройках 1С эти типы документов не сопоставлены, программа просто пропустит эти блоки.Выясним, как система идентифицирует организацию. Для успешной загрузки исходящего платежа необходимо 100% совпадение ИНН, КПП и номера расчетного счета. Если в карточке банковского счета в 1С затесался лишний пробел или в ИНН пропущена цифра, алгоритм загрузки не сможет определить принадлежность платежа к конкретной организации. При этом входящие платежи могут загружаться «мягче», так как для них поиск контрагента может идти по наименованию, в то время как для своих счетов проверка всегда строгая.
Система 1С:ERP обладает встроенным механизмом защиты от повторной загрузки документов. Важно понимать, что поиск дублей идет не только по внутреннему номеру 1С, но и по реквизиту Номер документа банка. Если вы ранее уже пытались загрузить этот платеж, или создали его вручную и указали банковский номер, система при повторной загрузке «молча» пропустит этот объект, считая, что он уже обработан. Проанализируем журнал документов «Списания безналичных ДС», добавив в список колонку с банковским номером, чтобы убедиться в отсутствии совпадений.
Если не загружаются именно налоговые платежи (оплата в бюджет), проанализируем реквизиты в файле выписки. Для таких операций 1С требует наличия КБК, ОКТМО и статуса составителя. Если банк не передает эти данные в структурированном виде, а пишет их только в назначении платежа, штатный механизм загрузки может споткнуться на валидации обязательных полей бюджетного платежа. В таком случае стоит проверить настройки «Вида операции по умолчанию» в обработке обмена.
Подведем итог: для решения проблемы мы должны последовательно исключить влияние расширений, проверить настройки казначейства (заявки), убедиться в корректности банковских реквизитов в карточках счетов и проанализировать структуру самого файла выписки с помощью обычного текстового редактора.