База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как программно проверить выполнение регламентного задания в 1С? › RE: Как программно проверить выполнение регламентного задания в 1С?
Для проверки, выполняется ли определенное регламентное задание в 1С:Предприятие, можно использовать встроенные методы работы с регламентными заданиями. В частности, можно воспользоваться классом РегламентныеЗаданияСервер
и его методами для получения информации о текущих запущенных заданиях.
Вот пример кода, который проверяет, выполняется ли конкретное регламентное задание по его уникальному идентификатору:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | 1C Процедура ПроверитьРегламентноеЗадание(ИдентификаторРегламентногоЗадания) // Получаем список всех фоновых заданий ФоновыеЗадания = ФоновыеЗадания.ПолучитьФоновыеЗадания(); // Перебираем все фоновые задания Для Каждого Задание Из ФоновыеЗадания Цикл // Проверяем, является ли задание регламентным и совпадает ли его идентификатор Если Задание.ТипЗадания = ТипЗадания.Регламентное И Задание.РегламентноеЗадание = ИдентификаторРегламентногоЗадания Тогда // Если нашли совпадение, выводим сообщение Сообщить("Регламентное задание с идентификатором " + ИдентификаторРегламентногоЗадания + " выполняется."); Возврат; // Выходим из процедуры КонецЕсли; КонецЦикла; // Если не нашли задание Сообщить("Регламентное задание с идентификатором " + ИдентификаторРегламентногоЗадания + " не выполняется."); КонецПроцедуры |
### Объяснение кода:
1. **Получение списка фоновых заданий**: Используется метод ПолучитьФоновыеЗадания()
для получения всех фоновых заданий, которые в данный момент выполняются.
2. **Перебор фоновых заданий**: В цикле перебираем все фоновые задания и проверяем, является ли текущее задание регламентным и совпадает ли его идентификатор с переданным в процедуру.
3. **Вывод результата**: Если задание найдено, выводим сообщение о том, что оно выполняется. Если нет, сообщаем, что задание не выполняется.
Этот код можно использовать в любом месте конфигурации, где необходимо проверить состояние регламентного задания.