Для реализации асинхронной пометки удаления документов в 1С можно использовать механизм фоновых заданий. Вот пример кода, который создает фоновую задачу для пометки документов на удаление:
1. Создайте общий модуль, например, «АсинхронныеЗадачи».
2. В этом модуле добавьте процедуру для пометки документов на удаление:
1C
Процедура ПометитьДокументыНаУдаление(СписокДокументов)
Для Каждого Документ Из СписокДокументов Цикл
Если Документ.ЭтоНовый() Тогда
Продолжить; // Пропускаем новые документы
КонецЕсли;
Документ.ПометкаУдаления = Истина;
Документ.Записать();
КонецЦикла;
КонецПроцедуры
3. Создайте процедуру для запуска фонового задания:
1C
Процедура ЗапуститьПометкуУдаления(СписокДокументов)
Задание = Новый ФоновоеЗадание;
Задание.Имя = "ПометкаУдаленияДокументов";
Задание.Процедура = "ПометитьДокументыНаУдаление";
Задание.Параметры = СписокДокументов;
Задание.Запустить();
КонецПроцедуры
4. Вызовите процедуру `ЗапуститьПометкуУдаления`, передав ей список документов, которые нужно пометить на удаление:
1C
СписокДокументов = Новый СписокЗначений;
СписокДокументов.Добавить(Документ1);
СписокДокументов.Добавить(Документ2);
// Добавьте другие документы по необходимости
ЗапуститьПометкуУдаления(СписокДокументов);
Этот код создает фоновую задачу, которая помечает документы на удаление асинхронно, что позволяет не блокировать интерфейс пользователя во время выполнения операции.