Предпоследний пост серии про автоматизацию последовательности будет посвящен отчету, который в реальном времени показывает статус восстановления последовательности. В предыдущих постах мы создали структуру для хранения статистики работы 1С, написали обработку в 1С и научились ее запускать. Теперь пришла пора начать подводить итоги.
Так как 90% информации для отчета содержится в базе SQL Server, то для реализации отчета я выбрал MS Reporting Services, в котором есть необходимая структура для красивой реализации задуманного и который может автоматически рассылаться пользователя или напрямую вызываться из 1С.
Давайте теперь визуально отобразим, как данный отчет выглядит, и укажем основные источники информации для отчета:
Основные данные по восстановлению последовательности:
- До какой даты последовательность восстановлена, берется как максимальная дата последовательности из базы статистики. Таким образом, если кто-то уронил последовательность до отправки отчета, мы все равно отобразим максимум, который сумели пройти.
- Следующий блок информации передается в базу статистики в универсальное XML поле, перед формированием отчета:
- Общая дата запрета редактирования – данные получаются стандартными средствами 1С.
- Пользователи, у которых есть возможность работать в закрытом периоде – данные получаются стандартными средствами 1С.
- Изменения даты запрета редактирования за прошедший день – данные получаются с помощью небольшой доработки 1С – изменение даты запрета через подписку записывает историю изменений в специальный регистр.
XML значение в SQL таблице может выглядеть следующим образом:
Статистика работы робота по восстановлению последовательности за период:
- Последние сутки содержат информацию по каждому часу
- Остальной период содержит информацию до уровня дня.
В статистике считаю необходимым показать:
- Количество документов, которое было проведено за период.
- Количество ошибок блокировки, которые возникли за период.
Для наглядности так же добавим простой столбец, который визуально покажет, где были провалы по восстановлению, а где было много блокировок.
Все данные берутся из базы статистики, так как сама 1С не позволяет так детально анализировать свою работу. Здесь используется не рассмотренная в данном цикле статей таблица, в которую записываются все события проведения документов. Имея период, за который мы восстанавливали последовательность, и точное время, когда мы это делали, мы можем получить перечень проведенных документов в это время с датой документа: теперь у нас есть количество проведенных документов. А все ошибки мы и так пишем в базу статистики – посчитать их число не сложно.
Ну и в конце отчета хочется показать график, в котором отобразить, как дата последовательности догоняет текущую дату )))
График достаточно наглядно показывает как мы падали, и как мучительно поднимались в попытке догнать текущую дату )))
На сегодня все – следующий пост закроет серию. В нем я проанализирую все ли из обозначенного в целях данной задачи удалось выполнить или нет.