При загрузке выписок из программ «Клиент-Банк» или «Исполняемый модуль Клиент-Банка» пользователи часто сталкиваются с ситуацией, когда документ «Счет на оплату» в поступающих платежах не заполняется автоматически. Выясним, по каким правилам программа 1С сопоставляет входящие платежи с выставленными счетами, почему при наличии нескольких неоплаченных документов поле остаётся пустым и как можно настроить или доработать этот процесс.
Рассмотрим, как функционирует встроенная логика сопоставления платежей в типовых конфигурациях 1С (таких как «1С:Бухгалтерия 8», «1С:ERP» или «1С:Комплексная автоматизация»). При импорте файла выписки программа выполняет следующие операции:
Проанализируем основные факторы, из-за которых автоматический подбор документов-оснований может дать сбой:
1. Разночтения в номерах и служебных префиксах
В 1С номера документов часто содержат лидирующие нули и префиксы (например, 0000-000123 или ПР-123). Если покупатель указывает в назначении платежа короткий номер (например, «Оплата по счету №123»), типовой алгоритм сравнения строк может не найти совпадения.
2. Оплата нескольких счетов одним платежом
Если плательщик указывает в одной платежке несколько документов (например, «по счетам №10 и №11»), типовая загрузка выписки не расщепляет одну строчку на несколько документов-оснований. В этом случае подбор сбрасывается или считывается только первый найденный номер.
3. Использование латиницы и опечаток
Использование латинских букв вместо кириллических в буквенных индексах номеров также приводит к тому, что подстройка поиска не находит документ в базе.
Разберем, в каких модулях программы реализован механизм разбора выписок, если необходимо отследить алгоритм по шагам или внести изменения:
В конфигурации «1С:Бухгалтерия 8» (ред. 3.0) основной код анализа и поиска документов расположен в общих модулях:
ЗагрузкаВыпискиПоБанковскомуСчету
ЗагрузкаВыпискиПоБанковскомуСчетуПереопределяемый
БанковскиеПравила
В комплексных решениях («1С:ERP», «1С:Комплексная автоматизация», «1С:Управление торговлей») логика сопоставления расчетов безналичных платежей находится в модулях подсистемы казначейства и обмена с банками, например:
ОбменСБанкамиСервер
Посмотрим на практические способы, позволяющие автоматизировать или упростить разнесение банковской выписки:
Для изменения стандартного поведения системы без снятия конфигурации с поддержки создадим расширение. В расширении можно перехватить процедуры обработки текста выписки и реализовать собственную логику:
Использование прямого обмена с банком через 1С:ДиректБанк (вместо текстовых файлов выгрузки 1c_to_kl.txt и kl_to_1c.txt) позволяет получать более детализированные данные о платеже в структурированном виде, что повышает точность работы встроенных алгоритмов подбора.
Если требуется регулярная обработка сложных выписок (с частичными оплатами и оплатами по нескольким документам), применим специальную внешнюю обработку. Она формирует предварительную таблицу сопоставления, где бухгалтер может визуально проверить и распределить суммы по нескольким счетам до момента создания документов поступления.