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

13.06.24

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

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

Скачать файл

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

Наименование SM По подписке Купить один файл
Универсальная многопоточная обработка данных 1С:
.epf 22,43Kb
24
24
2 SM
Скачать Купить за 2 150 руб.

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

См. также

Журналы и реестры данных Подбор и обработка объектов Бухгалтер Пользователь Платформа 1С v8.3 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:CRM ПРОФ, КОРП 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Абонемент ($m)

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

10 стартмани

20.06.2024    308    4    user1527257    0    

7

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

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

1 стартмани

20.05.2024    433    10    user1374747    2    

8

Чистка данных Подбор и обработка объектов Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:CRM ПРОФ, КОРП 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Абонемент ($m)

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

10 стартмани

03.05.2024    603    6    user1527257    1    

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