Stamp: Double;
Stamp: System.Double;
Свойство Stamp возвращает дату и время входа в репозиторий.
Для выполнения примера добавьте ссылки на системные сборки: Metabase, ForeSystem (для примера на Fore.NET).
Sub UserProc;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
AL: IAuditLog;
ALogon: IAuditLogons;
d, d1: DateTime;
Lic: Object;
Begin
MB := MetabaseClass.Active;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.Adm);
MS := MB.Security;
// Откроем протокол доступа
Al := MS.OpenAuditLog;
ALogon := AL.OpenLogons(False);
// Выведем в консоль информацию о сессиях текущего репозитория
While Not ALogon.Eof Do
Debug.Write("Сессия: " + ALogon.Session.ToString + " | ");
d := DateTime.FromDouble(ALogon.Stamp);
d1 := DateTime.FromDouble(ALogon.StampOut);
Debug.WriteLine(d.ToString + "-" + d1.ToString);
ALogon.Next;
End While;
// Освободим лицензию
Lic := Null;
End Sub UserProc;
Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.ForeSystem;
…
Public Shared Sub Main(Params: StartParams);
Var
MB: IMetabase;
MS: IMetabaseSecurity;
AL: IAuditLog;
ALogon: IAuditLogons;
d, d1: DateTime;
Lic: Object;
Begin
MB := Params.Metabase;
// Получим лицензию для возможности работы с менеджером безопасности
Lic := MB.RequestLicense(UiLicenseFeatureType.lftAdm);
MS := MB.Security;
// Откроем протокол доступа
Al := MS.OpenAuditLog();
ALogon := AL.OpenLogons(False);
// Выведем в консоль информацию о сессиях текущего репозитория
While Not ALogon.Eof() Do
System.Diagnostics.Debug.Write("Сессия: " + ALogon.Session.ToString() + " | ");
d := DateTime.FromOADate(ALogon.Stamp);
d1 := DateTime.FromOADate(ALogon.StampOut);
System.Diagnostics.Debug.WriteLine(d.ToString() + "-" + d1.ToString());
ALogon.Next();
End While;
// Освободим лицензию
Lic := Null;
End Sub;
После выполнения примера в консоль среды разработки будет выведена информация о сессиях с текущим репозиторием. Будет выведен номер сессии, дата начала и завершения сессии.
См. также: