SetPeriodAccess(Begin_: DateTime; End_: DateTime; Value: ILogonHours);
Begin_ - начальная дана периода, в котором необходимо ограничить время доступа.
End_ - конечная дана периода, в котором необходимо ограничить время доступа.
Value - настройки доступа по часам в течение дня.
Метод SetPeriodAccess устанавливает параметры доступа пользователя для указанного периода.
Период формируется путем указания в параметрах Begin_ и End_ начальной и конечной даты соответственно. Параметры доступа в течение дня на протяжении всего периода передаются в параметре Value.
Для выполнения примера предполагается наличие зарегистрированного в платформе пользователя с идентификатором "User_1".
Sub Main;
Var
MB: IMetabase;
MS: IMetabaseSecurity;
MP: IMetabasePolicy;
User: ISecuritySubject;
LogonHP: ILogonHoursPolicy;
LH: ILogonHours;
LHP: ILogonHoursPeriods;
d1, d2, d3, d4: DateTime;
Begin
MB := MetabaseClass.Active;
MS := MB.Security;
MP := MS.Policy;
User := MS.ResolveName("User_1");
LogonHP := MP.LogonHoursPolicy(User);
LHP := LogonHP.Periods;
LH := LHP.CreateHours;
d1 := DateTime.ComposeTimeOfDay(0, 0, 0, 0);
d2 := DateTime.ComposeTimeOfDay(9, 0, 0, 0);
d3 := DateTime.ComposeTimeOfDay(18, 0, 0, 0);
d4 := DateTime.ComposeTimeOfDay(23, 59, 0, 0);
LH.SetPeriodAccess(d1, d2, False);
LH.SetPeriodAccess(d2, d3, True);
LH.SetPeriodAccess(d3, d4, False);
d1 := DateTime.Now;
d2 := DateTime.AddDays(d1, 30);
LHP.SetPeriodAccess(d1, d2, LH);
MS.Apply;
End Sub Main;
После выполнения примера будут изменены параметры доступа в определенный период времени для пользователя "User_1". Начиная с текущего дня, и в течение следующих 30 дней, доступ под этим пользователем будет возможен с 9 часов утра до 18 часов вечера.
См. также: