Первый вариант, сделать отчет, который будет смотреть на таблицу History. Условия отбора довольно простые, берем текущее время и вычитаем последний час. Группируем по специалистам и выводим название группы. Далее строим отчет, к которому прописываем созданный фильтр и делаем обязательность выбора группы. Теперь при запуске отчета сотрудник выбирает интересующую группу и смотрит кто из сотрудников присутствует на месте. Также не забываем поставить изолированную блокировку, чтобы не блокировать работу приложения, данным запросом т.к. подобный запрос может заблокировать работу приложения.
Второй вариант, это написания правила, которое будет обновлять в карточке пользователя некое поле, формат дата. Данный вариант не очень красивый, т.к. это дополнительные расходы в транзакционном цикле workflow. Пишется простой скрипт, который нужно будет поместить в список глобальных скриптов и для каждой папки пред определить правило, которое будет его выполнять. Данный метод крайне нежелателен он ресурсоемкий в целом для системы, допустим кто-то запустит групповую правку и тут скрипт будет работать в цикле на каждом изменении. Это некрасивое решение, но оно все-таки есть.
Третий вариант, пожалуй, самый лучший из всего что можно придумать. Как и во втором варианте нам потребуется создать поле формат дата, в разделе «Учетные записи», «Пользователи».
Выдаем права на поле.
В меню системы выбираем пункт, файл > скрипты, скрипт автоматического старта.
Код
Option Explicit
On Error Resume Next Dim objUserAccount Set objUserAccount = ActiveSession.GetRequestByUniqueId(ActiveUser.Object.UniqueId) objUserAccount.Fields("DateOfLastActivity").TValue = Now objUserAccount.SaveEx 1 ' otSaveDoNotCheckPermissions If Err <> 0 Then LogMessage "Error in Autostart script: " & Err.Description Err.Clear End If |
На выходе мы получили дату последнего входа сотрудника. С точки зрения нагрузки на систему оно минимальное, и действует только в момент авторизации. Теперь достаточно вывести данное поле в общий вид рабочей группы, и мы будем видеть дату входа, когда был авторизован конкретный пользователь. Это позволяет не пользовать какими-либо дополнительными средствами, вроде отчетов и не блокирует работу системы.