Всем привет друзья
У Меня есть Табличная часть справочника. В ней находятся данные на отправку электронной почты. Документ на отправку, номер и куда.
Отправку делает в цикле, то есть 6 раз запускаю фоновое задание.
Фоновое задание отправки запускает фоновое задание проверки. Передает параметры, ключ фонового задания и ссылку на справочник.
По ключу нахожу фоновое задание, жду завершение если норм. То захожу в справочник на против отправляемой строки сталю ОК записываю.
И так делают остальные.
Но только это не работает. То блокировка то записать не может по иным причинам.
Подскажите как правильно сделать?
Для Каждого Список Из СписокФоновыхЗаданий Цикл
Для Каждого СписокУдаления Из СписокФайловНаУдаление Цикл
Если Ссылка.ТАбличнаяЧастьПК.НАйти(СписокУдаления.Представление)<>Неопределено
Тогда
//---
Если Список.Состояние = СостояниеФоновогоЗадания.Завершено
Тогда
СправочникПаспортаКачества.ТАбличнаяЧастьПК.НАйти(СписокУдаления.Представление).Статус = Истина;
Иначе
СправочникПаспортаКачества.ТАбличнаяЧастьПК.НАйти(СписокУдаления.Представление).Статус = Ложь;
СправочникПаспортаКачества.ТАбличнаяЧастьПК.НАйти(СписокУдаления.Представление).Отправка ="Не выполненно";
СправочникПаспортаКачества.ТАбличнаяЧастьПК.НАйти(СписокУдаления.Представление).ДатаИВремя = ТекущаяДата();
//---
КонецЕсли;
(0) почему не сделать одно фоновое задание на один элемент справочника? и в нём же запись отметок в ТЧ и в нём же проверку, хотя она видимо будет не нужна
(1) Нужно отслеживать отправку каждого из Тч и понимать какой не ушел. Если будет общая, тогда при сбое можно считать не отправленными все даже те которые ушли
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший