Оптимизация загрузки банковских выписок используя многопоточное определение хозяйственной операции документа

16.06.23

База данных - HighLoad оптимизация

Оптимизация механизма загрузки банковской выписки с использованием механизма подсистемы БСП Длительные операции.ВыполнитьФункциюВНесколькоПотоков.

Файлы

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

Наименование Скачано Купить файл
Оптимизация загрузки банковской выписки с использованием механизма подсистемы БСП Длительные операции ВыполнитьФункциюВНесколькоПотоков:
.cfe 13,37Kb
36 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Обратились с вопросом о необходимости ускорить загрузку банковских выписок, т.к. на тот момент обработка одного файла (>=2000 операций) в среднем занимала два с половиной часа.

Конфигурация Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.133.27), обработка КлиентБанк полностью типовая.

Анализируя типовой код, дошел до функции ЗагрузкаВыпискиПоБанковскомуСчету.РаспознатьВыписки и обратил внимание, что в цикле для каждой операции выполняется вызов ЗагрузкаВыпискиПоБанковскомуСчету.ХозяйственнаяОперация. 

 

 

На тестовой среде, время вызова для каждого документа было в районе 3 секунд, т.е. 100 минут для выписки с 2000 операций. Всё, что касается типового кода ДО функции РаспознатьВыписки и ПОСЛЕ неё, отрабатывало быстро и вопросов не возникало. 

На первый взгляд типовой механизм определения хозяйственной операции показался сложным и желания с ним разобраться не возникло.

Появилась идея оптимизировать определение хозяйственной операции, разбив на несколько потоков. 

Для этого я использовал механизм БСП, ДлительныеОперации.ВыполнитьФункциюВНесколькоПотоков.

Для начала использования необходимо:

  1. Подключить расширение
  2. Установить значение константы Использовать параллельную обработку выписок в значение Истина
  3. Установить значение константы Размер порции параллельной обработки выписок предполагаемый размер порции для одного потока (например 400 и тогда файл с 2 000 операций будет обрабатываться в 5 потоков). 
  4. Установить значение константы Количество потоков длительных операций (если ранее не использовалась) в зависимости от возможностей вашего сервера. 

Некоторые особенности:

  1. Отключить данный механизм очень просто, достаточно установить значение константы Использовать параллельную обработку выписок в значение Ложь.
  2. Если количество операций в выписке <= значению константы Размер порции параллельной обработки выписок, будет работать типовой механизм.
  3. Количество потоков определяется в зависимости от количества операций в выписке и константы Размер порции параллельной обработки выписок. При этом нужно понимать, что количество одновременно работающих потоков не может быть больше значения константы Количество потоков длительных операций. Оставшиеся потоки будут добрасываться по мере завершения предыдущих.
  4. Решение не является чем-то на 100% правильным и универсальным, однако в моём случае результат получился положительным.

В результате применения расширения, время загрузки банковской выписки сократилось со 150 минут до 40-45 минут.

Надеюсь, это решение окажется для кого-то полезным.

Буду рад конструктивной критике и предложениям.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.149.18

Вступайте в нашу телеграмм-группу Инфостарт

Загрузка банковских выписок Бухгалтерия3.0 МногопоточнаяОбработка ДлительныеОперации ВыполнитьФункциюВНесколькоПотоков ВыполнитьПроцедуруВНесколькоПотоков БСП ЗагрузкаВыпискиПоБанковскомуСчету КлиентБанк Оптимизация Обмен с банком DirectBank Банковские выписки

См. также

SALE! %

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

Корректируйте банковские документы быстро и легко! Создайте правило обработки — и оно автоматически применится при загрузке выписки (отбор по любому реквизиту или регулярному выражению). Решение заполняет расшифровку платежа, комиссию эквайринга, подбирает ведомости на выплату зарплаты, помечает дубли из банка на удаление и многое другое. Доплачивать за алгоритмы не нужно — они включены в решение. Обработка работает при загрузке из файлов клиент-банка и через DirectBank. Новое — искусственный интеллект: модель приводит нестандартные назначения платежа к виду, понятному алгоритмам, а ИИ-ассистент прямо в 1С консультирует по решению и разбирает код правил и алгоритмов. Поддерживаются локальные и облачные OpenAI-совместимые модели — данные могут не покидать ваш контур.

17500 руб.

20.12.2024    21536    104    32    

90

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

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

19520 руб.

21.03.2023    26240    174    39    

130

Банковские операции Адаптация типовых решений Бухгалтер Пользователь 1С:Предприятие 8 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

12200 руб.

17.06.2025    5324    16    0    

16

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

Групповая печать фискальных чеков по документам "Поступление на расчетный счет" с возможностью настройки НДС, признаков расчета и автоматической отправкой чеков клиентам.

6499 руб.

21.08.2019    23579    92    11    

26

Банковские операции Взаиморасчеты Учет документов Бухгалтер Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Россия Бюджетный учет Платные (руб)

Расширение для конфигурации 1С:Бухгалтерия 3.0. Многоуровневое согласование заявок на оплату с оповещением и делегированием прав.

15250 руб.

09.09.2025    3551    10    0    

8

Загрузка и выгрузка в Excel Банковские операции Кассовые операции Бюджетный учет Бухгалтер 1С:Предприятие 8 1С:Бухгалтерия государственного учреждения Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет загружать из стандартной выписки лицевого счета в формате MS EXCEL в 1С:Бухгалтерия государственного учреждения 1.0 документы Кассовое выбытие/Заявку на кассовый расход и Кассовое поступление.

6100 руб.

12.12.2017    39089    29    9    

28

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

Расширение позволяет автоматизировать загрузку банковских выписок в программу 1С:Бухгалтерия предприятия, ред. 3.0. При начальной настройке создается регламентное задание. Период срабатывания регламентного задания в дальнейшем можно поменять в консоли заданий. Требуется указать каталог, из которого нужно загружать банковские выписки.

7320 руб.

06.04.2020    20664    32    34    

12

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

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

17080 руб.

03.04.2013    133970    268    381    

171
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Wakeonlan 07.06.26 09:02 Сейчас в теме
Ошибка инициализации модуля: МногопоточнаяОбработкаБанковскихВыписок ОбщийМодуль.ЗагрузкаВыпискиПоБанковскомуСчету.Модуль
по причине:
{МногопоточнаяОбработкаБанковскихВыписок ОбщийМодуль.ЗагрузкаВыпискиПоБанковскомуСчету.Модуль(30,11)}: Недостаточно фактических параметров (БанковскийСчетВыпискиОпределен)
Если Не <<?>>БанковскийСчетВыпискиОпределен(РаспознаннаяВыписка, УчастникиОпераций) Тогда
{МногопоточнаяОбработкаБанковскихВыписок ОбщийМодуль.ЗагрузкаВыпискиПоБанковскомуСчету.Модуль(139,11)}: Недостаточно фактических параметров (БанковскийСчетВыпискиОпределен)
Если Не <<?>>БанковскийСчетВыпискиОпределен(РаспознаннаяВыписка, УчастникиОпераций) Тогда
[ОшибкаКомпиляцииВстроенногоЯзыка]

на 1С-Рарус: Бухгалтерия для некоммерческой организации 5 (5.0.120.1) (https://www.otr-soft.ru/nko/)
Copyright (С) ООО "1C-Софт", 2009 - 2025. Все права защищены
(https://www.otr-soft.ru)

Расширения конфигурации:
- Многопоточная обработка банковских выписок (1.0.0.1)

там вроде обычная бух внтури
Для отправки сообщения требуется регистрация/авторизация