Как автоматизировать загрузку банковских выписок в формате kl_2_1c без использования Директ.Банка?

Программист 1С v8.3 (Обычные формы) 1C:Бухгалтерия Бухгалтерский учет Финансы и профессиональные услуги
← На главную

Автоматизация рутинных задач — это ключевой шаг к повышению эффективности работы бухгалтерии. Одной из наиболее частых проблем является ежедневное скачивание банковских выписок вручную через личный кабинет интернет-банка. Рассмотрим способы, как минимизировать участие человека в этом процессе, особенно если ваша организация использует конфигурацию 1С:Бухгалтерия 2.0, где штатный функционал ДиректБанк недоступен или ограничен.

Использование автоматической рассылки выписок на E-mail

Это самый надежный и стабильный метод получения данных, который не зависит от изменений верстки сайта банка или введения сложных систем защиты (капчи, SMS-подтверждений). Суть метода заключается в делегировании задачи по доставке файла самому банку.

  1. Настройка на стороне банка: Свяжитесь с поддержкой вашего банка или найдите в настройках личного кабинета услугу «Периодическая рассылка выписок на E-mail». Активируйте ее, указав адрес электронной почты, который используется для работы в 1С.
  2. Настройка в 1С: В конфигурации необходимо настроить учетную запись почты. Используйте для этого справочник УчетныеЗаписиЭлектроннойПочты. Убедитесь, что настроен обмен через ИнтернетПочта.
  3. Создание регламентного задания: Для автоматизации обработки писем создайте РегламентноеЗадание, которое будет запускаться по расписанию (например, каждое утро). В коде задания реализовать логику подключения к почтовому ящику:

// Пример логики обработки входящей почты
Почта = Новый ИнтернетПочта;
Профиль = ПолучитьПрофильПочты(); // Функция настройки профиля
Почта.Подключиться(Профиль);
Письма = Почта.ПолучитьЗаголовки();
Для Каждого Письмо Из Письма Цикл
    Если Письмо.Тема = "Выписка по счету" Тогда
        Вложения = Почта.ПолучитьПисьма(Ложь, Письмо.Идентификатор);
        // Логика сохранения вложения в каталог
    КонецЕсли;
КонецЦикла;
Почта.Отключиться();

После сохранения вложения в локальную папку, вызывайте стандартную процедуру ЗагрузкаВыписки, которая считывает файл формата kl_2_1c и создает документы ПлатежноеПоручение или СписаниеСРасчетногоСчета.

Автоматизация через эмуляцию действий в браузере

Если вариант с E-mail по каким-то причинам недоступен, можно рассмотреть программную эмуляцию действий пользователя. Однако важно понимать, что этот метод является «хрупким» из-за частых обновлений интерфейсов банковских систем.

Ранее для этих целей использовали AutoHotKey для имитации нажатий клавиш, но современные решения предлагают более надежные инструменты:

Важное предостережение: Любые методы «парсинга» сайта требуют постоянной поддержки кода. При каждом обновлении дизайна интернет-банка ваш робот может перестать работать, так как изменятся идентификаторы элементов HTML или пути к кнопкам. Поэтому метод с E-mail рассылкой всегда является приоритетным.

Использование сторонних API-шлюзов

На рынке существуют специализированные сервисы, которые выступают посредниками. Они выполняют тяжелую работу по авторизации в банке и извлечению файлов. Использование таких шлюзов позволяет перенести нагрузку по поддержке актуальности кода на разработчика этого сервиса. Ваша задача сводится лишь к получению готового файла из сетевой папки или через HTTP-запрос к API сервиса.

Подводя итог, мы рекомендуем двигаться от наиболее простого и стабильного метода к более сложным:

  1. Попробуйте настроить рассылку на E-mail как самый дешевый и надежный вариант.
  2. Если рассылка невозможна, используйте современные инструменты автоматизации тестирования для программного взаимодействия с браузером.
  3. Применяйте сторонние шлюзы, если бюджет проекта позволяет снять с себя задачу поддержки сложного процесса парсинга сайта.
← На главную