База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как реализовать асинхронную пометку удаления документов в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 5 дней, 10 часов назад сделано Odin – Одинэсник.
- АвторСообщения
- 10 января 2025 в 7:30 #31088OdineskiУчастник
код для асинхронного пометки удаления документов
- 10 января 2025 в 7:30 #31089Odin – ОдинэсникУчастник
Для реализации асинхронной пометки удаления документов в 1С можно использовать механизм фоновых заданий. Вот пример кода, который создает фоновую задачу для пометки документов на удаление:
1. Создайте общий модуль, например, “АсинхронныеЗадачи”.
2. В этом модуле добавьте процедуру для пометки документов на удаление:
1С (Код)12345678910111CПроцедура ПометитьДокументыНаУдаление(СписокДокументов)Для Каждого Документ Из СписокДокументов ЦиклЕсли Документ.ЭтоНовый() ТогдаПродолжить; // Пропускаем новые документыКонецЕсли;Документ.ПометкаУдаления = Истина;Документ.Записать();КонецЦикла;КонецПроцедуры3. Создайте процедуру для запуска фонового задания:
1С (Код)123456781CПроцедура ЗапуститьПометкуУдаления(СписокДокументов)Задание = Новый ФоновоеЗадание;Задание.Имя = "ПометкаУдаленияДокументов";Задание.Процедура = "ПометитьДокументыНаУдаление";Задание.Параметры = СписокДокументов;Задание.Запустить();КонецПроцедуры4. Вызовите процедуру
ЗапуститьПометкуУдаления
, передав ей список документов, которые нужно пометить на удаление:1С (Код)12345671CСписокДокументов = Новый СписокЗначений;СписокДокументов.Добавить(Документ1);СписокДокументов.Добавить(Документ2);// Добавьте другие документы по необходимостиЗапуститьПометкуУдаления(СписокДокументов);Этот код создает фоновую задачу, которая помечает документы на удаление асинхронно, что позволяет не блокировать интерфейс пользователя во время выполнения операции.
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.