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

26.11.25

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

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

Файлы

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

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

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

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

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



Кратко о решении

Внешняя обработка для 1С, которая превращает любые ваши долгие обработки в управляемые многопоточные фоновые задачи.
Вы пишете только два фрагмента кода – выборка данных и обработка одной строки. Всё остальное (разбиение на потоки, запуск фоновых заданий, мониторинг, сбор результатов, лог ошибок) за вас делает эта обработка.
Подходит для типовых и доработанных конфигураций 1С (УТ, ERP, БП и др.) на основе БСП, ориентирована именно на разработчиков.

Назначение

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

Для кого эта разработка

  • Разработчики 1С, которые:
    • часто пишут разовые/служебные обработки на коленке;
    • хотят ускорить массовые операции без сложных доработок конфигурации;
  • хотят иметь универсальный многопоточный движок под любые задачи.
  • Технические специалисты и внедренцы, которым:
  • нужно быстро прогонять большие объёмы данных (миграции, массовые изменения);
  • важно контролировать процесс и видеть понятный лог по результатам.

Ключевые преимущества

  • Не нужно переписывать конфигурацию – вся логика в отдельной внешней обработке.
  • Многопоточность из коробки – вы только задаёте количество потоков и порции.
  • Безопасное выполнение – каждая строка в отдельной попытке, ошибки аккуратно собираются и не прерывают общий процесс.
  • Высокая гибкость – можно обработать практически любые объекты: справочники, документы, регистры, произвольные выборки.
  • Экономия времени разработчика – единый отлаженный каркас вместо написания однотипного кода по работе с фоновыми заданиями каждый раз.
  • Удобная отладка – режим без фоновых заданий, отдельная обработка “не в фоне”, наглядная таблица результатов.

Типовые сценарии использования

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


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

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

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

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


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

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

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

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

 

 

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

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

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

 

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

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

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

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

См. также

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

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

12000 руб.

06.08.2025    1373    3    0    

3

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

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

6000 руб.

29.06.2015    47199    92    18    

107

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

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

1 стартмани

09.05.2025    1974    59    Rafael-87    18    

7

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

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

10 стартмани

29.04.2025    4511    7    DmitryKSL    12    

17

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

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

10000 руб.

10.04.2025    1530    1    1    

1

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

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

1 стартмани

21.02.2025    1527    5    andrey7617    0    

4

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

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

1 стартмани

17.02.2025    3431    70    alexbur    19    

4

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

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

10 стартмани

07.02.2025    4634    63    Marat1c8    40    

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