Универсальная многопоточная обработка данных 1С

17.07.25

Задачи пользователя - Подбор и обработка объектов

Нужно быстро обработать какие-то данные, а подходящей многопоточной обработки нет?

Файлы

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

Наименование Скачано Купить файл
Универсальная многопоточная обработка данных 1С от 03.07.2025
.epf 23,46Kb ver:11.06.2024
54 2 450 руб. Купить

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

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

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

Однажды потребовалось неоднократно помечать на удаление 3500 документов. Процедура долгая, выполнялась примерно 1 час.

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

За основу взята бесплатно распространяемая обработка //infostart.ru/1c/tools/1808052/.

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

Обработкой можно пользоваться как внешней, так и встроить в доп обработки. В любом варианте запуска фоновое выполнение будет работать.

Для удобства добавлены:

  1. Возможность оставить комментарий в отдельном поле.
  2. Конструктор запроса в "Код выборки данных". Можно выделить существующий текст запроса и в конструкторе он сразу подтянется. Либо не выделять текст и создать новый текст запроса.
  3. Возможность сохранять и загружать настройки обработки. В файл TXT будет записана структура со свойствами "КоличествоПотоков, КодВыборкиДанных, КодОбработкиДанных, Комментарий" в формате XML (ОбщегоНазначения.ЗначениеВСтрокуXML)


Небольшое пояснение:

Поле "Код выборки данных" должно содержать код, который в переменную "ТаблицаДляОбработки" поместит таблицу значений с данными, которые нужно будет обработать процедурой "Код обработки данных".

*После выполнения кода обработки в таблицу значений будут добавлены служебные колонки "ИД, (Пометка) Обработать, Результат, Описание ошибки".

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

С помощью данной обработки помечено на удаление 3500 документов за 5 минут (использовав 50 потоков), вместо 1 часа в одном потоке
 

 

 

Для функционирования обработки требуется БСП.

Тестировалось на ЗУП КОРП 3.1.29.

 
 Новое в версии от 03.07.2025
  • Теперь можно настраивать, как часто обновляется статус выполнения (например, раз в 5 секунд вместо 1).
  • Сообщения о ходе и завершении обработки стали информативнее.
  • Появилась возможность сохранять все настройки обработки в файл и потом быстро их загружать обратно. Это удобно, если вы часто используете одни и те же параметры или хотите поделиться настройками с коллегой.
  • Появился отдельный параметр для задания имени фонового задания.
  • Все параметры и коды по умолчанию стали более наглядными и адаптированы под реальные задачи.
  • Результат обработки теперь можно задавать явно. Внутри кода обработки теперь можно присвоить переменной "Результат" нужное значение (например, текст или статус). Если не присвоить — будет как раньше: просто "Обработан". Это удобно, если нужно вернуть подробный результат по каждому объекту.
  • Для каждого потока теперь формируется уникальное имя задания (например, "Импорт данных.Поток 2"), что облегчает отслеживание и анализ. Это особенно полезно, если одновременно запускается несколько потоков.
  • Более чистый и понятный код. Убраны лишние транзакции вокруг обработки каждого объекта (раньше был НачатьТранзакцию()/ЗафиксироватьТранзакцию(), теперь этого нет). Транзакцию необходимо ставить самостоятельно.
  • Более гибкая обработка ошибок.Если при обработке объекта возникла ошибка, результат теперь всегда фиксируется как "Ошибка", а описание ошибки сохраняется. Это облегчает разбор проблем после массовой обработки.
 

 

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

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.10.191
  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.29.38

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

обработка многопоточная обработка фоновая обработка внешняя многопоточная обработка

См. также

Перенос данных 1C Учет документов Подбор и обработка объектов Программист Пользователь 1С v8.3 Бухгалтерский учет Оперативный учет 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Обработка «Сравнение документов» — это мощный инструмент для синхронизации и контроля данных между базами 1С:УНФ – 1С:БП, 1С:УТ – 1С:БП. Она позволяет сравнивать документы в двух базах, выявлять расхождения и загружать недостающие документы из одной базы в другую.

12000 руб.

06.08.2025    1037    3    0    

3

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

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

10 стартмани

07.02.2025    3783    57    Marat1c8    40    

10

Подбор и обработка объектов Бухгалтер 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

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

6000 руб.

29.06.2015    46843    92    18    

107

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

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

1 стартмани

09.05.2025    1473    44    Rafael-87    5    

6

Подбор и обработка объектов Программист Бухгалтер Пользователь 1С v8.3 Абонемент ($m)

Горыныч - универсальная внешняя обработка группового многопоточного проведения. Работает в одном потоке в любой конфигурации, многопоточный режим доступен при наличии справочника «Склады».

10 стартмани

29.04.2025    4104    7    DmitryKSL    8    

17

Поиск данных ЭДО и ОФД Подбор и обработка объектов 1С v8.3 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Поиск номенклатуры при сопоставлении в ЭДО не интуитивный, не настраиваемый и просто неудобный. Данное решение - это альтернативный вариант расширенного поиска и сопоставления номенклатуры для 1С, который подключается в качестве расширения и решает эту проблему.

10000 руб.

10.04.2025    1196    1    1    

1

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

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

1 стартмани

21.02.2025    1186    5    andrey7617    0    

4

Зарплата Подбор и обработка объектов Бухгалтер 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет НДФЛ Абонемент ($m)

Обработка позволяет выполнить последовательное (по датам получения дохода) распроведение и проведение документов по НДФЛ в конфигурации УПП 1.3.

1 стартмани

17.02.2025    2996    68    alexbur    16    

4
Отзывы
5. mistervoron 11 14.06.24 12:35 Сейчас в теме
Очень интересная идея и обработка! Спасибо!
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. fomix 33 14.06.24 04:01 Сейчас в теме
Однажды потребовалось неоднократно помечать на удаление 3500 документов. Процедура долгая, выполнялась примерно 1 час.
. А сколько времени это заняло с помощью данной обработки?
3. maslyann 88 14.06.24 09:12 Сейчас в теме
(1) заняло 5 минут с помощью 50 потоков. Разница очень большая
2. BackinSoda 14.06.24 09:10 Сейчас в теме
3500 за час вроде как не долго
4. maslyann 88 14.06.24 09:14 Сейчас в теме
(2)Просто эту операция мне нужно было проделать раз 7 (пометить на удаление 3500 документов). Семь часов времени непозволительно много.
А многопоточная обработка в 50 потоков справилась за 5 минут. Разница очевидна.
mistervoron; cis; +2 Ответить
5. mistervoron 11 14.06.24 12:35 Сейчас в теме
Очень интересная идея и обработка! Спасибо!
6. пользователь 19.06.24 12:51
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация