Загрузка из Клиент-банка, автоматическое заполнение договора и счета на оплату

06.11.24

Учетные задачи - Банковские операции

Учим Клиент-банк «читать» Назначение платежа из файла загрузки. Как правило, текст содержит достаточно информации для поиска договора контрагента и счета на оплату.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Загрузка из Клиент-банка, автоматическое заполнение договора и счета на оплату:
.rar 65,83Kb
92
92 Скачать (2 SM) Купить за 2 150 руб.

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

Как это работает.

Обработка реализована в виде расширения. Обрабатываются два вида платежа – оплата поставщику и оплата от покупателя. Остальные платежи вроде комиссии банка доверяем типовому механизму.

Добавлен новый справочник Правила поиска договоров (после установки доступен из раздела Банк и касса). Проанализировав достаточно выписок, видим, что нужные нам сведения (договор и счет на оплату) как правило, можно найти по маске вроде «ОПЛАТА ПО ДОГ. ХХХХХХХ ОТ ХХ.ХХ.ХХХХ» или  «Оплата по сч. ХХХХ от ХХ.ХХ.ХХХХ». И вариантов таких масок немного. То, что справа от «сч.» - это номер счета. То, что следует после «от» - его дата.

Справочник Правила поиска… содержит такие маски. Например, у моего клиента названия договоров часто дублируют номера счетов на оплату. Поэтому на скриншоте маска «сч. + от» используется для поиска и договора и счета.

Обработка сначала ищет договор (по реквизиту Номер), затем счет на оплату (из которого можно вытащить договор), затем счет-фактуру (в ней есть договор и можно поискать связанный счет на оплату). Если договор все еще не определен, смотрим, а сколько договоров у контрагента и, если один, подставляем его.

Обязательное условие – при загрузке должна открываться форма Обмен с банком.  При необходимости,  в Настройках обмена с клиентом банка поставить нужную галку. Именно в этой форме можно увидеть, что будет загружаться и, если надо, отредактировать. В форму Обмен с банком добавлена новая колонка «Счет на оплату».

Бонусы.

  1. В архиве лежит внешняя обработка Тестирование назначения платежа. Используется для настройки Правил поиска и для анализа ненайденного (ищет по тому же алгоритму, что и непосредственное заполнение). Запускаем, выбираем строку выписки, получаем назначение платежа, жмем ИСКАТЬ. Изменением Правил поиска добиваемся заполнения реквизитов.
  2. Код содержит процедуру записи в лог (файл log_kl_bank.txt) строк с ненайденными договорами. Регулярно просматриваю его, при необходимости корректирую правила. Обработка поставляется с закомментированным вызовом процедуры записи файла. Если нужно, внести изменения в код (раскомментировать стр.410-413), проверить путь к файлу, права на запись.
  3. Файл Правила.mxl с моими правилами. Их можно загрузить в чистый справочник правил (например обработкой ЗагрузкаДанныхИзТабличногоДокумента.epf).

Устанавливается как расширение. Проверено на БП 3.0.163.26, БП КОРП 3.0.163.26, платформа 8.3.24.1586.

Внимание! Расширение меняет обработку Клиент-банк. Если в базе есть другие доработки по Клиент-банку, проанализируйте возможные конфликты.

Для подключения расширения в пользовательском режиме выбрать пункт меню Все функции -> Стандартные -> Управление расширениями конфигурации, нажать кнопку Добавить, далее выбрать скачанный файл ивс_ПодборДоговоровИзКлиентБанка.cfe, снять с расширения галку Безопасный режим, затем нажать кнопку Перезапустить для перезапуска программы.

***

Upd 19.04.2023 исправлен режим совместимости под текущие релизы

***

Upd 05.11.2024 исправлен режим совместимости под текущие релизы

Клиент-банк загрузка выписка договор счет на оплату автоподстановка подбор

См. также

Банковские операции Обмен с интернет-банком Эквайринг/ридер магнитных карт Программист Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Устали вручную дозаполнять и корректировать документы по банку после загрузки банковской выписки? С помощью правил обработки банковской выписки вы сможете автоматически определять правильный вид хозяйственной операции, заполнять расшифровку, аналитику платежа и многое другое.

15000 руб.

21.03.2023    11303    74    16    

63

SALE! 20%

Обмен с интернет-банком Банковские операции Программист Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Модуль представляет собой комплексную автоматизацию обмена данными 1С с банком для БП 3.0, ERP 2.4, ERP 2.5. Выписка клиент-банка загружается и обрабатывается по Вашим правилам. Заполнение реквизитов документов, анализ назначения платежа. Работа с клиент банком не отличается от типового варианта, а документы автоматически заполняются так, как нужно вам. Дополнительная обработка, работающая совместно с основным расширением позволяет подключать собственные произвольные алгоритмы.

20400 16320 руб.

03.04.2013    124983    253    377    

164

Банковские операции Обмен с интернет-банком Бухгалтер Платформа 1С v8.3 Бухгалтерский учет Конфигурации 1cv8 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Беларусь Россия Бухгалтерский учет Платные (руб)

Типовая обработка "Клиент-банк" из конфигурации 1С "Бухгалтерия для Беларуси, редакция 2.1" корректно работает с выписками только банка "Дабрабыт", до 28.01.2019 "Москва-Минск". А бухгалтеру нужно работать и с другими банками и с другими конфигурациями. Для этого было разработано расширение, которое позволит решить данную проблему!

10.10.2017    37981    81    Xershi    41    

68

Банковские операции Обмен с интернет-банком Загрузка и выгрузка в Excel Программист Бухгалтер Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Платные (руб)

Обработка создания файла по стандарту обмена с системами "Клиент банка" kl_to_1c.txt Формат файла обмена Российская Федерация, версия 1.03 При восстановлении учета в случае отсутствия в 1с банковских выписок (например, р/с в банке закрыт в связи с банкротством и доступ к выгрузке из клиент-банка невозможен), можно запросить у банка выписку за период в формате Excel. С помощью этой обработки создается файл формата 1CClientBankExchange, в 1с77 он назывался kl_to_1c.txt который загружается штатными средствами в 1с8. При этом будут созданы загружаемые контрагенты и их р/с.

3840 руб.

19.04.2019    44144    149    53    

83

Пакетная печать Банковские операции Кассовые операции Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Платные (руб)

Обработка для групповой печати чеков ККМ с настройкой, загруженных из банковской выписки. На основании документа Поступление на расчетный счет!

4800 руб.

21.08.2019    20276    75    10    

24
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Petr54-ru 92 12.12.19 06:50 Сейчас в теме
Очень даже здравая идея. В строке Назначение что попало пишут, я в свое время понял, как выдергивать оттуда дату и номер. Но не допер, что у этого хаоса может быть конечное число вариантов. Спасибо за идею.
2. suvig 23 12.12.19 11:03 Сейчас в теме
(1) Спасибо на добром слове!
Там еще проблема с датами, тоже пишут как хотят. Очень помогли вот эти функции https://infostart.ru/public/310591/
3. user670659_lms.buch 15.06.20 11:18 Сейчас в теме
Здравствуйте! обработка не встает на БП 3.0 (3.0.77.106) ругается на режим совместимости. Что делать???
4. suvig 23 15.06.20 11:51 Сейчас в теме
(3)Добрый день! В конфигураторе в свойствах обработки поставьте Режим совместимости 8.3.14. Все работает на последних релизах.
5. user670659_lms.buch 15.06.20 12:58 Сейчас в теме
(4) А как в свойствах расщирения конфигурации сменить режим совместимости??

В основной базе стоит Версия 8.3.14 в расширении конфигурации 8.3.12. при этом поля в свойствах расширения неактивны.


заранее спасибо
6. suvig 23 15.06.20 13:10 Сейчас в теме
(5)меняйте в уже установленном расширении,(не файл!) пусть оно и запускается пока с ошибкой
в конфигураторе Конфигурация - Расширения конфигурации - открыть нужную - свойства на заголовке
меняем самый нижний Режим совместимости
7. suvig 23 15.06.20 13:22 Сейчас в теме
(5)сейчас обновлю файл, выложу на сайт и вышлю Вам
8. user670659_lms.buch 15.06.20 13:26 Сейчас в теме
9. suvig 23 15.06.20 13:46 Сейчас в теме
(8)публикацию обновил
могу выслать файл на Вашу почту, если скажете адрес
10. user670659_lms.buch 15.06.20 13:58 Сейчас в теме
11. German_Tagil 43 26.08.20 09:09 Сейчас в теме
Скачал поставил. Справочник загрузил. Галку открывать форму обмена с банком поставил
Тестирование работает корректно - а вот на форме не заполняет колонку счета
12. suvig 23 26.08.20 09:23 Сейчас в теме
добрый день. а расширение запускается без ошибок (совместимости например)? после установки расширения базу перезапускали?
(11)
13. German_Tagil 43 26.08.20 09:25 Сейчас в теме
(12)да без ошибок я же говорю тестирование работает
АРМ "Клиент" АС "Клиент-Сбербанк" Сбербанка России
14. suvig 23 26.08.20 09:31 Сейчас в теме
у нас тоже СБ
тестирование показывает, что в файле корректные данные для чтения
Вы не ответили, перезапускали ли после установки расширения базу, работать оно начнет после перезагрузки
и еще, другие пользователи (которые будут пользоваться загрузкой) тоже должны перезапустить базу (загрузить расширение)
пока такие догадки
15. German_Tagil 43 26.08.20 09:33 Сейчас в теме
(14) я на копии делал перезапускал отладкой
у меня бы расширение не запустилось
16. suvig 23 26.08.20 09:43 Сейчас в теме
если разговор зашел про отладку
отладчиком удается остановиться в расширении (например в начале процедуры ивсПДКБ_ЗаполнитьСтрокуПоХозяйственнойОперации) ?

а так могу посмотреть удаленно
17. German_Tagil 43 26.08.20 09:46 Сейчас в теме
(16) Насколько критично - я поменял на Такси с Такси. Разрешить Версия 8.2
Иначе расширение не запускалось
18. suvig 23 26.08.20 09:52 Сейчас в теме
ну.... Такси это же интерфейс
а форма обработки клиента та же... не думаю
убедиться бы что точно отрабатывает расширение
я бы отладчиком встал (см выше где) и посмотрел
может еще такой нюанс, при загрузке из файла надо удалить все выписки за этот день (период)
если выписки уже созданы, то 1С пропускает полное заполнение
19. German_Tagil 43 26.08.20 09:54 Сейчас в теме
20. suvig 23 26.08.20 09:54 Сейчас в теме
удалить все и потом загрузить
21. German_Tagil 43 26.08.20 09:57 Сейчас в теме
угу именно эти и занимаюсь
22. suvig 23 26.08.20 09:57 Сейчас в теме
ну, не все конечно, за тот период, который грузите :)
для тестирования можно по 1 дню попробовать
23. German_Tagil 43 26.08.20 10:01 Сейчас в теме
ну это понятно - в общем спасибо так бы я долго прыгал с бубном...
прописалось все
24. suvig 23 26.08.20 10:02 Сейчас в теме
25. German_Tagil 43 01.09.20 08:00 Сейчас в теме
(24) Посмотрел внимательно - если в расшифровке платежей количество строк больше единицы
то некорректно формируется
26. suvig 23 01.09.20 09:06 Сейчас в теме
можно пояснить по расшифровке платежа?
в файлах я вроде не встречал переноса на другую строку
27. German_Tagil 43 01.09.20 14:14 Сейчас в теме
(26) например в назначение платежа прописано три счета
в каком порядке прикреплять счета?
ищется только один раз
28. suvig 23 01.09.20 14:17 Сейчас в теме
(27)такой вариант вообще не рассматривал (да и как выбирать??)
бухгалтер иногда что-то должен и руками сделать
29. German_Tagil 43 02.09.20 15:31 Сейчас в теме
(28) Я к такому же выводу пришел
30. Alisa000 16.12.20 08:28 Сейчас в теме
Добрый день, подскажите на версии КОРП будет работать?
31. suvig 23 16.12.20 08:46 Сейчас в теме
(30)Доброе утро! У меня работает, в КОРП все то же
32. IDR72 02.06.21 12:02 Сейчас в теме
Добрый день!
1. Будет ли работать на Бухгалтерии 3.0.91.36
2. Очень бы хотелось, что если приходит оплата одной платежкой по нескольким счетам, то сразу формировалось бы несколько строк в документе поступления. Такое возможно? Тогда обработка закроет все проблемы типовой загрузки!
33. suvig 23 02.06.21 12:27 Сейчас в теме
Добрый день!
на последней версии БП ПРОФ и КОРП работает
вот по нескольким счетам в одном платеже делать точно не буду
для нас такие случаи редкие, да и сложность анализа строки возрастет (даже не представляю насколько)
после заполнения можно просто копировать строку, разбить суммы и выбрать другие счета
34. IDR72 02.06.21 12:32 Сейчас в теме
(33)
Понял, спасибо за быстрый ответ.
У нас тоже такие случаи редкие. Чаще проблемы с тем, что в назначении платежа пишут не договор, а счет или УПД (СчФ).
Скачиваю!)
35. user1612805 22.06.21 01:28 Сейчас в теме
Добрый день. Подскажите, на 1С:Предприятие 8.3 (8.3.18.1289) работает? БП 3.0.90.59
37. suvig 23 22.06.21 08:39 Сейчас в теме
(35)Доброе утро! На нескольких базах поддерживаю актуальные релизы БП (и ПРОФ и КОРП). От пользователей претензий нет.
36. user1612805 22.06.21 05:10 Сейчас в теме
Возможно ли сделать, чтобы счета на которые поступила оплата сами вставали в статус "Оплачено" ? Приходится проводить поступления.
38. suvig 23 22.06.21 08:44 Сейчас в теме
(36)Так статус и меняется в момент проведения, что логично. Обработка просто помогает заполнить таблицу.
Принцип "не навреди" (не трогать вшитые механизмы конфы) нарушать не вижу смысла.
39. IDR72 28.07.21 21:18 Сейчас в теме
(36)
у меня такая же проблема, но на самом деле, это самая "локальная" доработка, она подставляет данные, а бухи палюбасу пересматривает документы и проводит их. Даже лучше, что бы не забыли.
Но есть еще дополнения от меня: обработка не видит документы, у которых дата "xx.xx.xxxx."
для этого я изменил: в процедуре ивсПДКБ_НомерИДатаПоНазначениюПлатежа (IDR++ IDR--)

Функция ивсПДКБ_НомерИДатаПоНазначениюПлатежа(НазнПлат, ВидПоиска)
	Массив = Новый Массив(2);
	
	Массив[0]=НайтиНомерВСтроке(НазнПлат, ВидПоиска);
	НачалоПоискаДаты=СтрНайти(НазнПлат, Массив[0]);
	КолСимвСправа=СтрДлина(НазнПлат)-НачалоПоискаДаты-СтрДлина(Массив[0])+1;
	НазнПлатДляДаты=Прав(НазнПлат, КолСимвСправа);
	Если СтрДлина(НазнПлатДляДаты)>25 Тогда
		НазнПлатДляДаты=Лев(НазнПлатДляДаты,25);
	КонецЕсли;	

	//IDR++
	Если Прав(НазнПлатДляДаты,1)="." Тогда
		НазнПлатДляДаты=Лев(НазнПлатДляДаты, СтрДлина(НазнПлатДляДаты)-1);
	КонецЕсли;
	Если СтрЧислоВхождений(НазнПлатДляДаты,". ")>0 Тогда
		НазнПлатДляДаты=СтрЗаменить(НазнПлатДляДаты,". "," ");
	КонецЕсли;
	//IDR--
	
	Массив[1]=НайтиДатуВСтроке(НазнПлатДляДаты);

	Возврат Массив;
КонецФункции //ивсПДКБ_НомерИДатаПоНазначениюПлатежа
Показать


вполне возможно, это изменить это в другой процедуре, но мне это было легче сделать так.
40. Demik_a 24.05.22 17:23 Сейчас в теме
Здравствуйте, для УТ11 есть подобное?
41. suvig 23 25.05.22 10:56 Сейчас в теме
(40) Добрый день! Нет, только для БП
42. cdtnkfyf25 17.01.23 17:39 Сейчас в теме
Добрый день. Купила обработку. Не открыть в Бухгалтерия предприятия, редакция 3.0 (3.0.116.27) . При загрузке расширения выдает ошибку.
Прикрепленные файлы:
ошибка.docx
43. suvig 23 17.01.23 17:54 Сейчас в теме
(42) добрый вечер! завтра посмотрю, поправим
44. user630227_oks1292 01.08.23 13:06 Сейчас в теме
Добрый день. Приобрела Вашу обработку, но она не находит из справочника нужный счет и договор. При тестировании назначений платежа, выдает сообщение что счет №.... не нашли (хотя в справочнике счетов покупателю, этот счет имеется и договор тоже). В чем может быть причина?
Скрин прилагаю.
Прикрепленные файлы:
45. user630227_oks1292 01.08.23 13:08 Сейчас в теме
Прилагаю еще дополнительно скрин справочника счетов.
Прикрепленные файлы:
46. suvig 23 01.08.23 14:01 Сейчас в теме
(45) Добрый день!
А какое наименование договора в этом счете (который, кстати, документ, а не справочник)? Поиск идет по наименованию договора
48. user630227_oks1292 01.08.23 17:48 Сейчас в теме
(46) У меня получилось подобрать "правила поиска договора" так, что обработка его находит в 1с,
и при "тестировании назначений платежа" , обработка договор распознает и добавляет в строку "договор" (у моего клиента наименование договора соответствует номеру счета)
Но почему тоже самое не происходит со счетом покупателю? Обработка его не находит в 1С и не добавляет в строку " счет на оплату"
Когда я произвожу загрузку выписки банка ,то договор подтягивается, а сам счет покупателю, соответственно нет.

Что мне нужно изменить в "правилах поиска" ,чтобы и счет покупателю распознавался?

По поводу написания месяца прописью: прописью месяц указывается только в назначении платежа, на основании платежки, которую составляет покупатель, а не получатель платежа, поэтому повлиять на это я не могу.

Судя по тому, что программа смогла распознать договор даже не смотря на то, что в назначении платежа указан месяц прописью, причина не в этом.
Прикрепленные файлы:
50. suvig 23 01.08.23 18:15 Сейчас в теме
(48)
(48)Договор ищется по контрагенту только по реквизиту "Номер", а номер находится легко
предполагается, что с одним контрагентом вероятность договоров с одинаковым номером практически = 0
в конце всех вариантов поиска, если договор не нашли, смотрим, а случайно не один ли договор у этого контрагента вообще? если один, то его и подставляем по умолчанию

а вот для поиска счета или СФ нужна дата, ибо возможны одинаковые номера в разные годы

возможные маски для нахождения даты в тексте платежа:
НовСтр.Ключ = "$##.##.##$";
НовСтр.Расшифровка = "дд.мм.гг";

НовСтр.Ключ = "$##.##.####$";
НовСтр.Расшифровка = "дд.мм.гггг";

НовСтр.Ключ = "$#.##.##$";
НовСтр.Расшифровка = "д.мм.гг";

НовСтр.Ключ = "$#.##.####$";
НовСтр.Расшифровка = "д.мм.гггг";

НовСтр.Ключ = "$####.##.##$";
НовСтр.Расшифровка = "гггг.мм.дд";

НовСтр.Ключ = "$####.##.#$";
НовСтр.Расшифровка = "гггг.мм.дд";

НовСтр.Ключ = "$##/##/##$";
НовСтр.Расшифровка = "дд/мм/гг";

НовСтр.Ключ = "$##/##/####$";
НовСтр.Расшифровка = "дд/мм/гггг";

НовСтр.Ключ = "$#/##/##$";
НовСтр.Расшифровка = "д/мм/гг";

НовСтр.Ключ = "$#/##/####$";
НовСтр.Расшифровка = "д/мм/гггг";

НовСтр.Ключ = "$########$";
НовСтр.Расшифровка = "ддммгггг";

НовСтр.Ключ = "$####/##/##$";
НовСтр.Расшифровка = "гггг/мм/дд";

НовСтр.Ключ = "$####/##/#$";
НовСтр.Расшифровка = "гггг/мм/д";

НовСтр.Ключ = "$##-##-##$";
НовСтр.Расшифровка = "дд-мм-гг";
51. user630227_oks1292 01.08.23 18:46 Сейчас в теме
(50) Дико извиняюсь, но не совсем поняла, что такое маски и где их применять в Вашей обработке?

НовСтр.Ключ = "$##-##-##$";
НовСтр.Расшифровка = "дд-мм-гг";

Это где вообще находится?
Я не программист, я бухгалтер. Думала, что достаточно только задать параметры правил поиска и все.
47. suvig 23 01.08.23 14:30 Сейчас в теме
(45)
(45)и еще, посмотрел вспомнить, дата в строке не должна содержать месяц прописью
в описании это есть:
нужные нам сведения (договор и счет на оплату) как правило, можно найти по маске вроде «ОПЛАТА ПО ДОГ. ХХХХХХХ ОТ ХХ.ХХ.ХХХХ» или «Оплата по сч. ХХХХ от ХХ.ХХ.ХХХХ». И вариантов таких масок немного. То, что справа от «сч.» - это номер счета. То, что следует после «от» - его дата
49. user630227_oks1292 01.08.23 17:50 Сейчас в теме
Вот скрин Правил поиска договора,который я подобрала.
Что нужно изменить в правилах,конкретно по счету,чтобы его обработка тоже распознавала?
Прикрепленные файлы:
52. user630227_oks1292 01.08.23 21:16 Сейчас в теме
Короче говоря,методом тыка я все таки смогла подобрать ПРАВИЛА ПОИСКОВ ДОГОВОРОВ, так что у меня и счет на предоплату стал определяться, но для этого, действительно, в назначении платежа месяц счета должен быть указан в цифровом обозначении, а не текстом.
53. suvig 23 01.08.23 21:52 Сейчас в теме
(48) да, я Вам и показал кусочек кода, какие варианты будут приняты: 2.06.23 или 02.06.2023 или 02\06\2023 и т.д. Честно говоря, когда делал, ни разу не встретился с прописями в датах
(52)
54. atsibulsky 05.11.24 20:09 Сейчас в теме
Не удалось добавить это расширение. Вот такая ошибка:
(Критичная) : Значение контролируемого свойства РежимСовместимости у объекта не совпадает со значением в расширяемой конфигурации

БП 3.0.163.26.
55. suvig 23 06.11.24 13:32 Сейчас в теме
(54) Добрый день!. Да, идет время....
поправил совместимость на сегодняшний момент
56. atsibulsky 06.11.24 15:05 Сейчас в теме
(55) Добрый день! Отлично, спасибо) Пришлите мне пожалуйста обновленные файлы.
Оставьте свое сообщение