Давно это было ... Руководитель компании как-то попросил подготовить статистику по работе пользователей в базе данных. Все чаще руководители отделов продаж и бухгалтерии стали жаловаться на нехватку рабочих рук: "У нас задач все больше, пообедать даже некогда".
Стали анализировать количество создаваемых документов, справочников ... сравнивать периоды работы между собой, продолжительность сеансов пользователей и т.д. Разумеется, сразу на ум пришла идея использовать Журнал регистрации. Уже позже, после анализа сухой статистики, попробовали развернуть на диаграмме Ганта и это нам понравилось! Визуально очень легко определить кто перерабатывает, а кто делает вид ... Конечно, есть нюансы, которые руководитель знает и может сопоставить со спецификой задач сотрудников. Очень просто анализировать кто поработал в выходные, у кого был отпуск (по загрузке видно), кто просидел в офисе до полуночи, а кто пришел на работу ближе к обеду.
Сам отчет со временем был сильно усложнен и в своем алгоритме использовал много нетиповых метаданных. Поэтому для демонстрации самой идеи решил его максимально упростить. У нас отчет использовался в УТ (редакция 10.3) - т.е. обычные формы. Но для УФ можно тоже адаптировать.
Интерфейс отчета максимально простой:
Так как Журнал регистрации содержит ооочень много данных, то рекомендую начать проверку с небольшого периода и обязательно выбирать конкретного пользователя.
Можно делать отбор по конкретным событиям: "Начало сеанса", "Завершение сеанса", "Работа с данными". Работа с данными предполагает следующие события ЖР:
• _$Data$_.NewVersion - Данные. Добавление версии;
• _$Data$_.NewPredefinedData - Данные. Добавление предопределенных данных;
• _$Data$_.New - Данные. Добавление;
• _$Data$_.VersionCommentUpdate - Данные. Изменение комментария версии;
• _$Data$_.TotalsMaxPeriodUpdate - Данные. Изменение максимального периода рассчитанных итогов;
• _$Data$_.TotalsMinPeriodUpdate - Данные. Изменение минимального периода рассчитанных итогов;
• _$Data$_.UpdatePredefinedData - Данные. Изменение предопределенных данных;
• _$Data$_.SetStandardODataInterfaceContent - Данные. Изменение состава стандартного интерфейса OData;
• _$Data$_.Update - Данные. Изменение;
• _$Data$_.PredefinedDataInitialization - Данные. Инициализация предопределенных данных;
• _$Data$_.PredefinedDataInitializationDataNotFound - Данные. Инициализация предопределенных данных. Данные не найдены;
• _$Data$_.Unpost - Данные. Отмена проведения;
• _$Data$_.Post - Данные. Проведение;
• _$Data$_.DeleteVersions - Данные. Удаление версий;
• _$Data$_.DeletePredefinedData - Данные. Удаление предопределенных данных;
• _$Data$_.Delete - Данные. Удаление;
• _$Data$_.SetPredefinedDataInitialization - Данные. Установка инициализации предопределенных данных;
• _$Transaction$_.Begin - Транзакция. Начало;
• _$Transaction$_.Rollback - Транзакция. Отмена;
• _$Transaction$_.Commit - Транзакция. Фиксация;
Если не выбрать ни одного типа События, то будут анализироваться вообще все возможные операции (в том числе и фоновые процессы и работа в конфигураторе и т.д.).
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 10.3, релизы 10.3.88.3