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