Пример многопоточной обработки (БСП)

Публикация № 1808052 13.02.23

Задачи пользователя - Обработка документов

Многопоточная обработка

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

Введение

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

Будет работать только в конфигурациях, где интегрирована БСП, только в управляемых формах и только в клиент-серверном варианте

Важно! Если у вас сервер 1С и компьютер на котором вы запускаете 1С это разные машины, то обработку надо установить во внешние обработки.

Принцип многопоточной обработки

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

 

 

Что в примере

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

 

 

В динамике это выглядит примерно так

 

 

 

Как сделать свою обработку на основе этой

Порядок такой

  1. Копируем эту обработку. В метаданных меняем её имя и синоним;
  2. Добавляем реквизиты в обработку

 

Форма

  • Разместить на форме параметры выборки объектов / процедуры для формирования готового списка объектов для обработки. В примере это ЗаполнитьДаннымиДляТеста();
  • В функции ПараметрыОбработки() складываем в одноименную структуру все параметры, что потребуются для обработки объектов;
  • В процедуре ОбработатьРезультатВыполнения() - можно выполнять дополнительные действия с результатом выполнения обработки.

 

Модуль

  • В функции Объекты() определить алгоритм получения ВСЕХ объектов для обработки. Здесь два варианта:
    1. Просто транслировать то что передано с формы в параметр ДанныеДляОбработки;
    2. Заполнить на сервере по входящим параметрам; 
 
Объекты()
  • Функция РазбитьНаПорции() содержит два алгоритма разбиения коллекции объектов на порции. Я оставил рабочим алгоритм "Чередование", т.к. мне кажется он более приближен к последовательной обработке. Вы можете описать здесь свой;
  • В процедуре ВыполнитьМногопоточно() в самом конце складываем итоговый результат работы, если результат складывает НЕ в ТЗ то дорабатываем эту процедуру. В противном случае, здесь ничего не трогаем;
 
ВыполнитьМногопоточно()
 
  •  В процедуре ОбработатьОбъекты() описываем свой алгоритм обработки в области Обработка_Объекта.

 

Как отлаживать обработку

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

Так же на форме расположены вспомогательные команды, служащие исключительно для отладки

  • Выполнить без фоновых заданий – запускает управляющую процедуру в основном потоке. Пригодится для отладки ВыполнитьМногопоточно(), Объекты(), РазбитьНаПорции();
  • Обработать объекты не в фоне – служит для отладки ОбработатьОбъекты()

 

Тестировалось на платформах 8.3.18.1957, 8.3.21

Конфигурации: КА 2.5.7.402, УХ 3.0

Материалы по теме
- Многопоточная обработка данных
- Многопоточная обработка данных на примере перепроведения документов
- Универсальный шаблон многопоточной обработки (на примере проверки работы Web-сервисов)
- Параллельная обработка (в несколько потоков - сеансов
- Многопоточная обработка документов БП3.0, КА2, (ERP с небольшим ограничением). Ускоряет основные процессы учета: проведение документов и другие массовые процедуры методом многопоточности
- Простая параллельная обработка данных
- Многопоточный режим выполнения процедуры с помощью методов БСП - примеры разработки

Скачать файлы

Наименование Файл Версия Размер
Пример многопоточной обработки

.epf 17,05Kb
173
.epf 2023.02.13 17,05Kb 173 Скачать бесплатно
Поддержать автора

.epf 17,05Kb
2
.epf 2023.02.13 17,05Kb 2 Скачать
Поддержать гуру СКД

.epf 17,05Kb
1
.epf 2023.02.13 17,05Kb 1 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. quazare 2987 14.02.23 04:32 Сейчас в теме
Благодарю вас, что сделали ссылку на мою публикацию
2. ixijixi 1420 15.02.23 09:00 Сейчас в теме
А чем отличается поддержка автора от поддержки гуру СКД? =)
3. echo77 1707 15.02.23 10:30 Сейчас в теме
(2) Ничем (0 скачиваний :-(). Так... еще один способ напомнить о себе :-)
maksa2005; user1674924; +2 Ответить
4. ixijixi 1420 15.02.23 10:40 Сейчас в теме
5. quazare 2987 15.02.23 18:46 Сейчас в теме
я хоть и не гуру скд - но вас тоже поддержу. чего и остальным советую! не стесняйтесь, товарищи, активнее-активнее...
6. Cyberhawk 131 16.02.23 14:10 Сейчас в теме
Будет работать только в конфигурациях, где интегрирована БСП
Какая максимально "старая" БСП поддерживается? А то в разных версиях БСП разный программный инетерфейс по вызову экспортных методов подключаемых обработок...
triviumfan; +1 Ответить
7. triviumfan 37 20.02.23 15:18 Сейчас в теме
Будет работать только в конфигурациях, где интегрирована БСП

Но в статье не указана версия БСП, плюс у них плохая обратная совместимость.

ЗЫ: Пардон, открыл обработку и увидел, что автор запилил свой интерфейс вместо типового (ВыполнитьФункциюВНесколькоПотоков), который доступен с 3.1.7.
8. maksa2005 370 03.03.23 14:55 Сейчас в теме
Ля... не работает. печаль(
Оставьте свое сообщение

См. также

Заполнение контрагентов по ИНН для УТ 10.3

Обработка справочников WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 10 Россия Абонемент ($m)

Заполнение контрагентов по ИНН (1С: Управление торговлей 10.3).

6 стартмани

17.05.2022    5768    35    kostyan7    20    

1

Перепроведение документов с контролем проводок

Обработка документов Платформа 1С v8.3 Бухгалтерский учет Конфигурации 1cv8 Бухгалтерский учет Абонемент ($m)

Немного переделанная стандартная обработка «Проведение документов», контролирует проводки документов и если они изменились — сообщает об этом.

1 стартмани

05.06.2021    11072    15    AnryMc    0    

10

Параллельная обработка (в несколько потоков - сеансов)

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

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

1 стартмани

06.04.2021    3004    2    Amadeus007    0    

1

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Связанные документы или Структура подчиненности (КА 2.4, ERP 2, УТ 11)

Обработка документов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Абонемент ($m)

В форму структуры подчиненности документов добавлены кнопки проведения, отмены проведения и пометки на удаление. Также красным подсвечены поступления денег и синим списания.

1 стартмани

13.07.2020    22858    27    silver_jr    1    

5

Оптимизация размера изображений из присоединенных файлов УТ 11.4

Инструменты администратора БД Обработка справочников Платформа 1С v8.3 1С:Управление торговлей 11 Россия Абонемент ($m)

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

5 стартмани

10.07.2020    16423    28    Neti    5    

15

Простая параллельная обработка данных

Инструментарий разработчика Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Предлагаю способ быстрой параллельной обработки "неких" данных. Методика проста как дважды два. Предварительно подготовленная обработка запускается вручную в нескольких сеансах, и каждый сеанс занимается обработкой своей части (случайного диапазона). Может пригодиться для ускоренной обработки данных. К примеру, необходимо заполнить реквизит большого справочника, заполнение в один поток идёт долго, а сроки поджимают.

1 стартмани

10.02.2020    10064    1    Amadeus007    8    

8

"Учет штрафов ГИБДД" с возможной загрузкой из открытых источников в интернет Расширение конфигурации 1С: Предприятие 8.3

Обработка документов WEB-интеграция Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Бухгалтерский учет Управленческий учет Абонемент ($m)

Расширение конфигурации Бухгалтерия предприятия, редакция 3.0 (при минимальных изменениях любой типовой конфигурации), позволяющее вести историю данных по штрафам ГИБДД для справочника транспортных средств компании. Бонусом поставляется внешняя обработка, способная загружать эти данные из открытых источников в интернет.

4 стартмани

30.12.2019    30400    43    capitan    30    

1

Пакетное пробитие чеков на Онлайн-кассе при оплатах от физических лиц на расчетный счет

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

Автоматизация процесса пробития чеков онлайн при поступлениях на расчетный счет от физических лиц. Помогает сократить трудозатраты таким организациям, как МФЦ, Управляющие компании и т.д. Подходит для 1С:Бухгалтерия 3.0 любой версии (базовая, ПРОФ, КОРП). Не изменяет конфигурацию. Конфигурация остается на поддержке (типовая).

2 стартмани

24.09.2019    33531    18    r.resh39    16    

13

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Универсальный шаблон многопоточной обработки (на примере проверки работы Web-сервисов)

Универсальные обработки Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

17.09.2019    9447    6    1C_Casual    5    

8

Аванс с проверкой невыходов (Расширение для ЗУП 3.1 и ЗКГУ 3.1)

Обработка документов Зарплата Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Абонемент ($m)

Проверка перед выплатой аванса в документе "Ведомость в банк" и "Ведомость в кассу" по отсутствующим сотрудникам. Тестировал на платформе 1С:Предприятие 8.3 (8.3.15.1489), конфигурации Зарплата и управление персоналом, редакция 3.1 (3.1.10.78) и Зарплата и кадры государственного учреждения, редакция 3.1 (3.1.10.78)

2 стартмани

26.07.2019    15339    55    APTEM_SLV    43    

8

Списание (корректировка) задолженности контрагентов УНФ 1.6

Взаиморасчеты Обработка документов Закрытие периода Корректировка данных Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 Украина Бухгалтерский учет Абонемент ($m)

Обнуление задолженности контрагентов в конфигурации "Управление небольшой (нашей) фирмой" версии 1.6 с помощью документа "Корректировка регистров".

1 стартмани

24.07.2019    42360    35    DMon    1    

9

Регистрация документов с измененной суммой

Обработка документов Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Обработка берет информацию из истории изменения документов. Удобна для администраторов, когда документы с измененной суммой по какой-то причине не регистрируются в плане обменов. Можно регистрировать не все документы, а только те, которые были изменены.

1 стартмани

20.04.2019    34949    9    ryan    0    

5

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Валовая прибыль для УПП 1.3, КА 1.1 в режиме РАУЗ (работа типового отчета без доработок конфигурации)

Обработка документов Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Управленческий учет Абонемент ($m)

Простое и мгновенное решение для использования типового отчета "Валовая прибыль" в конфигурациях "Управление производственным предприятием 1.3", "Комплексная автоматизация 1.1" (а также отраслевых решений на их базе) при включенном режиме РАУЗ (расширенная аналитика учета затрат). Не требует настройки или изменения конфигурации, либо может быть, для дополнительного удобства, интегрировано в нее с минимальными доработками.

2 стартмани

21.01.2019    37166    45    stvorl    12    

8

Многопоточная обработка данных

HighLoad оптимизация Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Конфигурация "Универсальные механизмы: пакеты данных". Набор инструментов для быстрой организации отказоустойчивой многопоточной обработки данных.

1 стартмани

23.11.2018    41629    167    _ASZ_    19    

95

Помощник корректировки остатков ЕГАИС в небольшом магазине. Розница 2.2

Розничная торговля Обработка документов Обмен с ГосИС Корректировка данных Платформа 1С v8.3 1С:Розница Розничная и сетевая торговля (FMCG) Рестораны, кафе и фаст-фуд Россия Управленческий учет Абонемент ($m)

Данная обработка упрощает корректировку остатков алкогольной продукции небольшого магазина, где предполагается передача всей продукции в торговый зал сразу после приемки.

5 стартмани

08.09.2018    54486    85    asdfgcom    47    

12

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

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

3 500 рублей

Автоматическое заполнение графиков в ЗУП 3.1

Зарплата Учет рабочего времени Обработка справочников Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Абонемент ($m)

Данная разработка будет актуальна для организаций с большим количеством графиков (несколько десятков/сотен).

1 стартмани

05.05.2018    40099    24    notserioussam    2    

8

Восстановление предопределенных элементов справочника средствами платформы (переинициализацией)

Обработка справочников Корректировка данных Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Абонемент ($m)

Обработка восстанавливает потерянные предопределенные элементы справочника с заполненным наименованием, кодом и иерархией, которые описаны в конфигурации. Исправление ошибки "Предопределенный элемент отсутствует в данных".

2 стартмани

28.03.2018    24679    128    Dipod    13    

21

Многопоточная обработка документов БП3.0, КА2, (ERP с небольшим ограничением). Ускоряет основные процессы учета: проведение документов и другие массовые процедуры методом многопоточности

Обработка документов Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Абонемент ($m)

Обработка предназначена в основном для бухгалтеров. Ее основная функция - ускорить основные процессы учета: проведение документов и другие массовые процедуры. Ускорение происходит за счет использования нескольких потоков (фоновых заданий). Количество потоков можно изменять. Это ускорение возможно только для клиент-серверной базы. Обработка создана для Управляемых форм

2 стартмани

27.03.2018    9922    71    YannikAlx    26    

16

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Корректировка остатков ЕГАИС, возврат из регистра 2, загрузка ТТН из файлов, другое для УТ10.3

Розничная торговля Обработка документов Обмен с ГосИС Корректировка данных Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Бухгалтерский учет Абонемент ($m)

Набор обработок для автоматизации работы с ЕГАИС: Обработка корректировки остатков ЕГАИС для УТ 10.3, аналогичная имеющимся в УТ 11, Рознице 2.2. Автоматически формирует документы "Передача в торговый зал", "Акт постановки на баланс в торговом зале", "Акт списания в торговом зале". Обработка возврата из регистра 2 с подбором справок Б. Обработка формирования ТТН из файлов xml.

1 стартмани

24.01.2018    56803    20    biz-intel    6    

15

Печатная форма, сделанная как расширение конфигурации для БП 3.0. Новые возможности БСП

БСП (Библиотека стандартных подсистем) Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Печатные формы на внешних обработках скоро канут в лету. На смену им приходят ПФ, реализованные в виде расширений конфигурации. Не нашел на сайте примеров таких расширений. Привожу пример подобного расширения для БП 3.0.

1 стартмани

06.12.2017    37908    65    kwazi    6    

26