Загрузка банковских выписок из Альфа-Банка
Интеграция - Обмен с интернет-банком
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Нужно бежать со всех ног, чтобы
только оставаться на месте,
а чтобы куда-то попасть, надо бе-
жать как минимум вдвое быстрее!
Льюис Кэрролл "Алиса в Зазеркалье"
Всем привет!
Представляю вашему вниманию обработку для загрузки банковских выписок Альфа-Банка. Подобные обработки в 1С-программах называются "клиентом банка". Для упрощения, я буду называть "Клиент-банком" или обработка "Клиент-банк".
Данная обработка не является универсальной для всех конфигураций 1С. Разработка обработки проходила в программе "Бухгалтерия предприятия, ред. 1.6", на платформе 1С:Предприятие 8.3 (8.3.27.1936) !
Изначально обработка была разработана как самостоятельная внешняя обработка - в этом виде она как раз и прикреплена к публикации - рис. 4. В последствии механизм обработки был встроен в типовую обработку "КлиентБанк" для удобной работы пользователей и бесшовной интеграции с типовой БП ред.1.6 - рис. 1 и 2.
Загрузка выписок делится на два этапа: чтение файла загрузки *.csv и создание входящих платежек (или в терминах других приложений 1С - документов "Поступление денежных средств").
Чтение файла *.csv
Обработка строк файла *.csv происходит "построчно": из строки по Инн определяется Контрагент, по НомеруСчета - Банковский расчетный счет. Обращаться в цикле по строкам в каждой итерации к базе данных для определения Контрагента по ИНН и для определения БанкСчета по НомеруСчету - это очень длительная операция, и по своей сути, это исполнение "запроса в цикле".
Как ускорить процесс и обойти "запрос в цикле", я описал в статье Алгоритмы: улучшаем загрузку из эксель (см. пункт 2). По сути я использую Соответствие, заранее заполненное вне цикла. Плюс в комментариях к той статье предложен другой вариант обхода проблемы - использование всего одного запроса к базе вне цикла, но с двумя проходами по циклу (подобный вариант реализован мною на этапе "Загрузка платежек").
Ниже представлен листинг кода. Предварительно собираем Соответствие контрагентов по ИНН, но не по всему справочнику "Контрагенты", а с отбором - и это ключевое.
Загрузка банковских выписок подразумевает, что мы будет загружать только оплаты от покупателей. В моем случае все плательщики объединены в отдельном регистре сведений, общее количество актуальных плательщиков намного меньше, чем общий список контрагентов за несколько лет - см. листинг. Поэтому создание соответствия контрагентов по ИНН происходит быстро, получение контрагента по ИНН - также быстро.
Для нас интерес представляет расшифровка показателей файла *.csv - по формату Альфа-Банка.
Формат Альфа-Банка в первых двух строках представляет собой заголовки показателей - на англ. языке на 1ой строке и на русском языке на 2ой строке. Поэтому обработка строк начинается с 3ьей строки !
Также обратите внимание, что "дата платежки" - берется из показателя "дата учета операции по счету", а не из "дата документа" - см. рис. 3. Остальные поля и показатели смотрите в Листинге 1.
Также, при обходе строк файла *.csv я сразу программно создаю банковский расчетный счет контрагента, но не создаю контрагента. В моем случае контрагент должен создаваться изначально вручную, это предполагает ряд дополнительных проверок со стороны пользователя 1С - просто так устроен процесс заведения новых контрагентов в базе, не более.
Чтение файла *.csv происходит по кнопке "Прочитать данные из файла". Создание входящих платежек происходит по кнопке "Загрузить".
Загрузка платежек
Платежки (входящие платежные поручения / поступления денежных средств) ищем по четырем полям: номер входящего документа, дата входящего документа, контрагент и сумма документа. Если в базе платежки не найдено, то создаем новую. Код представлен ниже в Листинге 2.
Созданные платежки не проводим сразу, но указываем ссылку на них. Далее можно открыть связанную платежку, дозаполнить ее, и после уже провести. В моем случае пользователям еще нужно к платежке прикрепить счет на оплату.
Данную публикацию можно использовать как готовый шаблон для своих изысканий и разработок по загрузке банковских выписок. Обработку можно открыть в любой конфигурации на обычных формах, предварительно заменив названия соответствующих таблиц (контрагентов, платежек).
На этом все. Всем добра!
- Анализ прав и ролей. Поиск подходящего профиля - алгоритмический анализ и поиск
- Оцифровка и визуализация склада - программная прорисовка склада
- Удаление документов для любых баз на управляемых формах
- Удаление справочников для любых баз на управляемых и обычных формах
- Перенумерация документов и справочников - с учетом префиксов номеров
- Свертка базы УТ 10.3 подокументно - новая концепция
- Матричное программирование - демо-стенд матричного калькулятора
- Справочное хранение товаров в КА 2.5 - кейс запуска адресного склада
- Мини-обзор разных задач - от очевидного до неочевидного
- Поиск отчета по документам - пример анализа незнакомых конфигураций
- Флажок в динамическом списке - от теории до практики "как бы простой" задачи
- Из Json в ДеревоЗначений - удобный просмотрщик json-структуры
- Внедрение адресного склада в КА 2.5 - кейс запуска адресного склада
- Фрилансеру: про цены, про клиентов, про планирование - мое исследование
- Что такое форматированный документ - прекрасная возможность раскрасить любой текст
- Программная работа с упаковками в КА 2.5 - примеры адаптаций механизмов упаковок в КА 2.5
- Универсальное сравнение регистров накопления - связь по измерениям, сравнение по ресурсам
- Обход объекта рекурсивно - просмотр реквизитов документа с бесконечным открытием подуровней
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 1.6, релизы 1.6.31.1
Вступайте в нашу телеграмм-группу Инфостарт