Пример многопоточной обработки (БСП)
Обработка-шаблон, на основе которой можно делать свои многопоточные обработки данных для конфигураций на БСП.
- Описание
- Подробнее
Описание
Введение
Данная обработка является относительно простым примером и одновременно шаблоном для разработки подобных многопоточных обработок. Разрабатывалось для того чтобы каждый, не вдаваясь в подбробности, смог сделать свою обработку по образу и подобию.
Будет работать только в конфигурациях, где интегрирована БСП, только в управляемых формах и только в клиент-серверном варианте
Важно! Если у вас сервер 1С и компьютер на котором вы запускаете 1С это разные машины, то обработку надо установить во внешние обработки.
Принцип многопоточной обработки
- Получаем массив ВСЕХ объектов для обработки;
- Разбиваем этот массив на порции(Массивы) согласно входящим параметрам;
- Для каждой порции запускаем свое фоновое задание, которое будет выполнять экспортный метод ОбработатьОбъекты();
- Фоновые задания отправляют сообщения фиксированного формата;
- Ждем завершения выполнения фоновых заданий;
- Проверяем статусы запущенных фоновых заданий, читаем сообщения;
- Отправляем свои сообщения основному потоку;
- В самом конце складываем итоговый результат работы всех ФЗ в АдресРезультата.
Что в примере
В качестве примера обработка, которая выбирает все записи из справочника Контрагенты и обрабатывает их наименования. После обработки каждого элемента транзакция откатывается, в результате ничего не меняется в базе данных
В динамике это выглядит примерно так