Добрый день!
Сегодня поговорим немного о функциональности, которую я и Евгений Генов недавно реализовали и которую уже несколько раз запрашивали клиенты. Это логирование (журналирование) действий пользователей.
Очень часто руководителю компании или CRM-координатору хочется знать, насколько активны пользователи при работе с CRM-системой, что конкретно они делают и работают ли они в ней вообще. Более того, некоторые даже хотят строить на основе подобной активности сотрудников мотивационные схемы, формирование заработной платы, бонусов и т.д. Для этих целей и была реализована некая функциональность, которая отслеживает большинство операций (манипуляций) пользователя и пишет это все в специальную таблицу.
Теперь о самой утилите. Вот так выглядит окно логирования действий.
Как Вы видите, все довольно-таки просто: в верхней части фильтрация по периоду и пользователю, которого Вы мониторите.
Поскольку сама утилита предназначена в основном ответственному лицу, занимающимся подобным мониторингом и скорее всего будет доступна только пользователю с административными правами, то мы вынесли возможность удаления записей из этого журнала, о чем свидетельствует наличие кнопки "Удалить"
Теперь о настройке. Вот так выглядит окно настроек.
Как видно из скриншота, под настройкой понимается следующее: какие действия конкретного пользователя система должна отслеживать.
На данный момент доступны следующие действия: переходы по разделам, переходы по деталям, запуски действий, отчетов, открытия наборов данных, открытия карточек редактирования и, на мой взгляд, самое интересное - изменение записей, т.е. регистрируются все внесения изменений, производимые пользователем.
Кроме того, регистрируется вход и выход из системы (это действие не выносилось в настройки, поскольку, на мой взгляд, эта информация нужна всегда).
Какие плюсы реализованного функционала.
Поскольку вся информация пишется не в файл логов, а в таблицу, то на основании логируемых данных можно построить любую аналитику активности работы пользователя, выявлять ошибки при работе пользователя, определять ошибки при разработке (тем, кто этим занимается) и помогает в чем-то оптимизировать бизнес-логику работы сотрудников.
На этом, пожалуй, все.