Была поставлена задача сделать мониторинг самописных регламентных заданий так, чтобы "неайтишники" сразу поняли, что что-то пошло не так.
Со стандартным мониторингом ,к сожалению, многи сотрудники справиться не могут.
Обработка выводит ограниченный список заданий (т.е. только те, которые запрограммированы под вывод) со светофором (чтобы сразу было понятно что что-то не так).
Для работы требуется модификация конфигурации.
Добавляем регистр сведений (напр ИсторияВыполненияРегламентныхЗаданий_cs), в котором хранится информация о выполнении регламентных заданий. ВАЖНО! по постфиксу _cs отбираются задания для вывода. Измерения:
-
ИмяЗадания, Строка (100)
-
Запуск, Дата, Дата и время
Ресурс:
-
Завершение, Дата, Дата и время
Реквизит:
-
НаименованиеЗадания, Строка (100)
В начале задания:
// Имя и наименование регламентного задания
МетаданныеРегламентногоЗадания = Метаданные.РегламентныеЗадания.<Имя регламентного задания>;
Имя = МетаданныеРегламентногоЗадания.Имя;
Наименование = МетаданныеРегламентногоЗадания.Наименование;
// Время запуска регламентного задания
ДатаЗапуска = ТекущаяДатаСеанса();
// Начало выполнения
ЗаписатьИсториюВыполненияРегламентногоЗадания(Имя, Наименование, ДатаЗапуска);
В конце задания:
Процедура ЗаписатьИсториюВыполненияРегламентногоЗадания(Имя, Наименование, ДатаЗапуска, ОкончаниеЗадания = Ложь) Экспорт
Ну и процедура записи (у меня она живет в специальном общем модуле для доработок):
Процедура ЗаписатьИсториюВыполненияРегламентногоЗадания(Имя, Наименование, ДатаЗапуска, ОкончаниеЗадания = Ложь) Экспорт
Запись = РегистрыСведений.ИсторияВыполненияРегламентныхЗаданий_cs.СоздатьМенеджерЗаписи();
Запись.Запуск = ДатаЗапуска;
Запись.ИмяЗадания = Имя;
Если ОкончаниеЗадания Тогда
Запись.Завершение = ТекущаяДатаСеанса();
КонецЕсли;
Запись.НаименованиеЗадания = Наименование;
Запись.Записать();
КонецПроцедуры