Оглавление
Введение
Зачем вообще понадобился отдельная операция сбора отчётов? Рассмотрим такую, например, ситуацию:
- Вы администрируете несколько организаций и везде у вас стоят обновляторы.
- Каждый день у этих клиентов выполняются какие-то операции по расписанию (архивация, тестирование, обновление...).
- Вы, для контроля, настраиваете обновляторы так, чтобы уведомления на почту вам приходили только в случае возникновения ошибок.
- Но при этом для целей дополнительного контроля раз в неделю вы хотите просматривать общую сводку по всем выполненным операциям по всем базам.
Именно по поводу четвёртого пункта ко мне и обратился один из пользователей программы. Для целей такого дополнительного контроля ему приходилось подключаться к каждому из клиентов (а этого зачастую нельзя было сделать без предварительного согласования) и уже в самом обновляторе просматривать журнал операций за неделю.
И вот у него возникла такая идея - что если реализовать в обновляторе отдельную операцию "сбор отчётов", которая будет запускаться один раз в неделю и присылать ему на почту все выполненные операции по всем базам за прошедшую неделю. В этом случае ему не надо будет никуда подключаться, вся необходимая информация придёт к нему на почту сама.
Именно так и появилась эта операция. Прошу вас внимательно и до конца прочесть эту статью о настройке и возможностях этой операции, некоторые моменты не очевидны.
Важное замечание
Описываемая в этой статье возможность будет работать только для отчётов, которые будут созданы версией обновлятора начиная с текущей (от 14.04.2021 и новее).
Для отчётов в старом формате будет вот такое предупреждение:
Дело в том, что начиная с текущей версии обновлятор дописывает в отчёт дополнительную служебную информацию (например, по созданным в операции архивам).
Создаём задачу в расписании
Операция для сбора отчётов доступна только по расписанию. Поэтому заходим в расписание и создаём задачу с операцией "сбор отчётов по операциям за период":
Настраиваем интервал для сбора
Справа от вида операции нажимаем на ссылку "настроить параметры для сбора отчётов...":
В открывшемся диалоге указываем интервал:
Левая дата интервала вычисляется как разность даты запуска операции и первого числа (в данном случае -7 дней, то есть неделю назад).
Права дата интервала вычисляется как разность даты запуска операции и второго числа (в данном случае 0 дней, то есть дата запуска операции).
Предположим, что дата запуска операции 14 апреля, тогда:
- интервал [-7,0] будет означать интервал 7 апреля-14 апреля.
- интервал [-8,-1] будет означать интервал 6 апреля-13 апреля.
- интервал [-10,-5] будет означать интервал 4 апреля-9 апреля.
- и так далее...
То есть если мы хотим собирать отчёты за предыдущую неделю, то просто указываем [-7, 0].
Но если мы хотим собирать за пред. неделю, не включая операции текущего дня (это может быть полезно, к примеру, чтобы контролировать загрузку архивов в облака), тогда указываем [-8,-1].
Выбираем базы для сбора
В задаче выбираем опцию "Переопределить базы для запуска"...
... далее настраиваем список баз вот так:
Таким образом отчёты будут собираться вообще по всем базам, которые есть (или которые появятся в будущем) в списке обновлятора:
Настраиваем отправку отчётов на почту
В задаче выбираем опцию "Переопределить настройки уведомлений":
Настраиваем её вот так:
Здесь же в настройках уведомлений нажимаем ссылку "уточнить..." в 6 пункте и настраиваем вот так:
Настраиваем время запуска
Например, по воскресеньям вечером:
Выполняем пробный запуск задачи вручную
Нажимаем правой кнопкой мыши на задаче в списке и выбираем пункт "Запустить задачу прямо сейчас":
После выполнения задачи на почту придёт письмо с отчётами.
Как читать собранные отчёты по операциям
В теме письма указывается вид операции и период сбора отчётов:
В самом письме указывается сводка по базам, вот пример:
В данном случае операции были только по следующим базам:
- Гастроном:
- 6 операций всего
- создано 4 архива, из них 3 загружено в облако, 1 загружается
- 1 операция с ошибкой
- DemoHRM_30:
- 2 операции всего
- создан 1 архив
- Рабочий стол:
- 2 операции всего
- создано 2 архива, из них 1 архив загружен в облако, 1 загружается
- Настройки 1С:
- 1 операция всего
- создан 1 архив
- Настройки обновлятора:
- 1 операция всего, создан 1 архив
Обратите отдельное внимание, что фраза "без ошибок и предупреждений" в конце письма относится именно к операции сбора отчётов, а не к их содержимому.
К письму приложен архив, распакуем его в отдельную папку и откроем корневой отчёт:
Вот она полная информация:
При этом обратите внимание, что полные отчёты по операциям также доступны по ссылкам слева (они будут работать при условии что вы распаковали весь архив в отдельную папку):
Справа мы видим статусы загрузок архивов в облака, если таковые имеются в этой операции:
Важное замечание. Для архива в облаке может быть 3 статуса: архивы уже в облаке, архивы загружаются и архивы не успели загрузиться. Обновлятор выставляет эти статусы по следующей логике:
- Смотрит в отчёте был ли созданный архив поставлен на загрузку в облако.
- Если не был - ничего не пишем в статус, стоп.
- Если был продолжаем.
- Смотрим - висит ли этот архив в задачах на загрузку в облако. Не висит - значит возвращаем статус "архив уже в облаке", стоп.
- Если всё ещё висит продолжаем.
- Смотрим существует ли этот архив на диске локально. Если нет - возвращаем статус "архивы не успели загрузиться", стоп.
- Если существует - возвращаем "архивы загружаются".
Я привёл этот алгоритм, чтобы вы поняли что статус "архивы уже в облаке" означает только то, что обновлятор видит, что этот архив не висит больше на загрузку в облако, не более того.