Обработка событий

Навигатор по разделу:

1. Общие сведения

Обработчики предназначены для настройки реакции Системы на возникновение различных событий, контролируемых Системой.

2. Настройка обработчика

Название обработчика человекочитаемое наименование обработчика, предназначено для идентификации обработчика администратором в списке.

Описание обработчика – опциональное поле, заполняется при необходимости описать поведение, реализуемое обработчиком.

Название события – выбор из списка доступных для обработки событий.

Тип обработки – выбор варианта обработки: "Создание документа", "Создание процесса без документа". Определяет вид контекста бизнес-процесса, запускаемого для обработки события.

Скрипт обработки – выбор скрипта, функцией которого является определение необходимости обработки события и формирование контекста бизнес-процесса. В зависимости от выбранного типа обработки отображается список скриптов из раздела "Получение контекста процесса" или "Получение контекста документа".

Схема бизнес-процесса – выбор схемы процесса, определяющей реакцию Системы на событие.

Реакция на внешние события могут быть двух типов:

  • Создание процесса, инициируемого документом (сформированная заявка). Такой тип отображается в списке заявок.
  • Создание процесса без документа. Такой тип отображается только в административном интерфейсе на вкладке "Процессы". Согласования в данном случае недоступны.

Приоритет – последовательность выполнения скриптов обработки события формируется в соответствии с установленной приоритетностью, выраженной числовым значением (где 0 – самый высокий приоритет, далее рост значения (1, 2, 3 и т.д.) определяет снижение приоритета).

Эксклюзивная обработка – метод обработки событий, при котором успешное выполнение события в конкретном обработчике прерывает вызов последующих обработчиков в цепи с целью предотвращения повторной обработки события или конфликтов между обработчиками.

2. Скрипт обработки события

В контексте выполнения скрипта хранится модель с полями обрабатываемого события, доступ к которой можно получить через обращение по имени "ContextEvent":

ContextEvent.DepartmentId

Доступные для чтения поля модели ContextEvent зависят от выбранного события (см. Типы событий).

В зависимости от типа обработки для выполнения события могут быть использованы скрипты из разделов "Получение контекста процесса" или "Получение контекста документа".

Результатом выполнения скрипта "Получение контекста процесса" должен являться кортеж, состоящий из:

  • Словаря "ключ-значение", который будет использоваться как контекст выполнения процесса.
  • Строки, содержащей текст ошибки (если в результате выполнения скрипта произошла ошибка и сообщение об ошибке требуется передать в обработчик) или причины пропуска события.
({'a': 100, 'b': 100},'some_error_text')

При необходимости запуска процесса словарь должен быть заполнен данными, необходимыми в контексте запускаемого процесса, строка пустой.

При необходимости пропустить обработку события должен быть возвращён пустой словарь и не пустая строка. Как правило, в строке указывается причина игнорирования события.

Результатом выполнения скрипта "Получение контекста документа" должен являться кортеж, состоящий из:

  • Черновика документа (объекта класса DocumentBlank).
  • Строки, содержащей текст ошибки (если в результате выполнения скрипта произошла ошибка и сообщение об ошибке требуется передать в обработчик) или причины пропуска события.

(DocumentBlank, 'some_error_text')

В модели "DocumentBlank" необходимо заполнить следующие поля:

  • SubjectId - идентификатор пользователя, на которого создается заявка.
  • FormType - идентификатор компонента заявки. Он указывает на компонент для отображения заявки в интерфейсе (см. настройки компонентов заявок в разделе "Типы заявок"). 

Для работы с моделью "DocumentBlank" необходимо подключить в скрипт ссылки на внешние зависимости:

import clr
clr.AddReference('WorkflowContext')
from WorkflowContext.Domain.Model.Document import DocumentBlank

Для создания новой модели "DocumentBlank" необходимо вызвать конструктор:

document = DocumentBlank()

В результате скрипт должен иметь следующий вид:

import clr
clr.AddReference('WorkflowContext')
from WorkflowContext.Domain.Model.Document import DocumentBlank

......
document = DocumentBlank()
document.SubjectId = {some_subjectId}
document.FormType = "some_compoinentId"
....
return document, ''

Дополнительно в модели предусмотрена возможность задать поля заявки (DocumentFields), которые используются при выполнении бизнес-процесса, включая скрипты из других блоков.

Для работы с полями заявки в секции ссылок на внешние зависимости необходимо добавить ссылку на модель "DocumentField".

В результате получится секция:

import clr
clr.AddReference('WorkflowContext')
from WorkflowContext.Domain.Model.Document import DocumentField
from WorkflowContext.Domain.Model.Document import DocumentBlank

Для добавления поля необходимо использовать метод Add в модели DocumentBlank. В качестве входного параметра он принимает модель DocumentField. DocumentField состоит из:

  • Name - название поля заявки;
  • Type - тип поля заявки;
  • Value - значение поля заявки.
DocumentBlank.Fields.Add(DocumentField("Field","String","value")

В результате скрипт должен иметь следующий вид:

import clr
clr.AddReference('WorkflowContext')
from WorkflowContext.Domain.Model.Document import DocumentField
from WorkflowContext.Domain.Model.Document import DocumentBlank

......
document = DocumentBlank()
document.SubjectId = {some_subjectId}
document.FormType = "some_compoinentId"
document.Fields.Add(DocumentField("Field1","String","value1"))
document.Fields.Add(DocumentField("Field2","String","value2"))
....
return document, ''

При необходимости запуска процесса черновик документа должен быть сформирован, строка пустой. При необходимости пропустить обработку события должен быть возвращён пустой черновик и не пустая строка. Как правило, в строке указывается причина игнорирования события.

3. Типы событий 


AccountCreated – создание учетной записи

Событие возникает в следующих ситуациях:

  • в момент назначения ролей, когда в Системе ранее не был зафиксирован факт создания УЗ сотрудника или юнита, в этом случае IDM отправляет команду на создание нужной УЗ.  

Состав объекта: 

{
  "Password": "",
  "PasswordEncryptionIV": null,
  "Owner": {
    "Type": null,
    "Id": null
  },
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": ""
}
ПараметрОписание
1

Password

Пароль учетной записи

Значение поля: строка

2

PasswordEncryptionIV

Вектор инициализации для шифрования пароля

(Initialization Vector, IV).

Значение поля: строка

Owner

3

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

4

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка


5

Time

Время создания УЗ.

Значение поля: ISO 8601

6

ResourceId

Идентификатор ресурса, в котором создана УЗ.

Значение поля: целое число

7

Login

Имя созданной УЗ.

Значение поля: строка

AccountCreatedContextEvent – создание УЗ для сотрудника

Событие возникает в следующих ситуациях:

  • при создании новой УЗ, в процессе назначения сотруднику роли, содержащей профиль УЗ, которая отсутствует у работника.

Состав объекта:

{
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": "",
  "Password": "",
  "OwnerId": 0
}
ПараметрОписание
1Time

Время создания УЗ.

Значение поля: ISO 8601

2ResourceId

Идентификатор ресурса, в котором создана УЗ.

Значение поля: целое число

3Login

Имя созданной УЗ.

Значение поля: строка

4Password

Пароль созданной УЗ.

Значение поля: строка

5OwnerId

Идентификатор сотрудника – владельца УЗ.

Значение поля: строка

AccountDeletedAuditContextEvent – удаление УЗ

Событие возникает:

  • в момент обнаружения факта удаления учетной записи системой внутреннего аудита.

Состав объекта:

{
  "RoleId": 0,
  "RoleName": "",
  "RoleComment": "",
  "ModificationId": "00000000-0000-0000-0000-000000000000",
  "ResourceId": 0,
  "ResourceName": "",
  "Login": "",
  "EmployeeId": 0,
  "EmployeeName": "",
  "Date": "2024-01-09T10:31:15.6738734+00:00"
}
ПараметрОписание
1

RoleId

Идентификатор роли.

Значение поля: целое число

2

RoleName

Наименование роли учетной записи.

Значение поля: строка

3

RoleComment

Комментарий к роли учетной записи.

Значение поля: строка

4

ModificationId

Идентификатор изменения.

Значение поля: GUID

5

ResourceId

Идентификатор ресурса учетной записи.

Значение поля: целое число

6

ResourceName

Наименование ресурса учетной записи.

Значение поля: строка

7

Login

Имя учетной записи

Значение поля: строка

8

EmployeeId

Идентификатор сотрудника – владельца УЗ.

Значение поля: целое число

9

EmployeeName

Имя сотрудника – владельца УЗ.

Значение поля: строка

10

Date

Дата и время события.

Значение поля: ISO 8601

AccountDisabledEvent – деактивация учетной записи

Событие возникает в следующих ситуациях:

  • при постоянном выключении УЗ сотрудника или юнита системой IDM (при обработке кадровыми политиками, через бизнес-процессы или администратором Системы).

    Состав объекта:
{
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": "",
  "Reason": "",
  "Owner": {
    "Type": "Employee",
    "Id": ""
  }
}
ПараметрОписание
1

Time

Время возникновения события.

Значение поля: ISO 8601

2

ResourceId

Идентификатор ресурса, в котором создана учетная запись.

Значение поля: целое число

3

Login

Имя учётной записи.

Значение поля: строка

4

Reason

Текст причины отключения.

Значение поля: строка

Owner

5

Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

6

Id

Идентификатор владельца учетной записи.

Значение поля: строка

AccountEnabledEvent – активация учетной записи

Событие возникает в следующих ситуациях:

  • при активации УЗ сотрудника или юнита системой IDM (при обработке кадровыми политиками, через бизнес-процессы или администратором Системы).

Состав объекта:

{
  "Reason": "",
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": "",
  "Owner": {
    "Type": "Employee",
    "Id": ""
  }
}
ПараметрОписание
1

Reason

Текст причины активации.

Значение поля: строка

2

Time

Время возникновения события.

Значение поля: ISO 8601

3

ResourceId

Идентификатор ресурса, в котором создана учетная запись.

Значение поля: целое число

4

Login

Имя учётной записи.

Значение поля: строка

Owner

5

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

6

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка

AccountExcessRightsContextEvent – обнаружено превышение полномочий УЗ

Событие возникает в следующих ситуациях:

  • в результате планового или внепланового запуска задачи синхронизации УЗ в ресурсе у УЗ обнаружены права не обеспеченные назначенными ролями или списком свободных прав УЗ. 

Для каждой пары УЗ-право событие генерируется единожды. Обнаружение очередного превышения полномочий УЗ в дополнение к ранее зарегистрированным приводит к повторному созданию события с актуальным перечнем нелегитимных прав доступа.

Состав объекта:

{
  "ResourceId": 0,
  "ResourceName": "",
  "Login": "",
  "EmployeeId": 0,
  "EmployeeName": "",
  "EventData": [
    {
      "RightName": "",
      "RightId": 0,
      "ModificationId": "00000000-0000-0000-0000-000000000000"
    }
  ]
}

 

ПараметрОписание
1ResourceId

Идентификатор ресурса, в котором находится УЗ.

Значение поля: целое число

2ResourceName

Имя ресурса, в котором находится УЗ.

Значение поля: строка

3Login

Имя УЗ.

Значение поля: строка

4EmployeeId

Идентификатор сотрудника – владельца УЗ.

Значение поля: целое число

5EmployeeName 

Имя сотрудника – владельца УЗ.

Значение поля: строка

EventData

Список модификаций УЗ.

7EventData[].RightName

Имя нелегитимно присвоенного права.

Значение поля: строка 

8EventData[].RightId

Идентификатор нелегитимно присвоенного права.

Значение поля: целое число

10EventData[].ModificationId

Идентификатор модификации.

Значение поля: GUID

AccountLocked – блокировка учетной записи

Событие возникает в следующих ситуациях:

  • при временном выключении УЗ сотрудника или юнита системой IDM (при обработке кадровыми политиками, через бизнес-процессы или администратором Системы).

Состав объекта:

{
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": "",
  "Owner": {
    "Type": "Employee",
    "Id": ""
  },
  "Reason": ""
}
ПараметрОписание
1

Time

Время возникновения события.

Значение поля: ISO 8601

2

ResourceId

Идентификатор ресурса, в котором создана учетная запись.

Значение поля: целое число

3

Login

Имя учётной записи.

Значение поля: строка

Owner

4

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

5

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка


6

Reason

Текст причины блокировки.

Значение поля: строка

AccountLockedContextEvent – УЗ заблокирована

Событие возникает в следующих ситуациях:

  • при блокировке УЗ работника вне зависимости от источника команды блокировки.

Состав объекта:

{
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": "",
  "Reason": "",
  "OwnerId": null
}
ПараметрОписание
1Time

Время блокировки УЗ.

Значение поля: ISO 8601

2ResourceId

Идентификатор ресурса, в котором заблокирована УЗ.

Значение поля: целое число

3Login

Имя заблокированной УЗ.

Значение поля: строка

4Reason

Причина блокировки УЗ.

Значение поля: строка

5OwnerId

Идентификатор сотрудника – владельца УЗ.

Значение поля: null

AccountPasswordChanged – изменение пароля учетной записи

Событие возникает в следующих ситуациях:

  • при изменении пароля УЗ сотрудника или юнита через пользовательский, административный интерфейс или API;
  • при изменении пароля УЗ сотрудника или юнита в результате синхронизации с источником учетных данных;
  • при изменении пароля УЗ сотрудника или юнита в результате применения парольной политики.

Состав объекта:

{
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": "",
  "Owner": {
    "Type": "Employee",
    "Id": ""
  },
  "Password": "",
  "PasswordEncryptionIV": null
}
ПараметрОписание
1

Time

Время возникновения события.

Значение поля: ISO 8601

2

ResourceId

Идентификатор ресурса, в котором создана учетная запись.

Значение поля: целое число

3

Login

Имя учётной записи.

Значение поля: строка

Owner

4

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

5

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка


6

Password

Пароль учетной записи.

Значение поля: строка

7

PasswordEncryptionIV

Вектор инициализации для шифрования пароля

(Initialization Vector, IV).

Значение поля: строка

AccountPasswordChangedContextEvent – изменение пароля УЗ сотрудника

Событие возникает в следующих ситуациях:

  • при изменении пароля через пользовательский, административный интерфейс или API;
  • при изменении пароля в результате синхронизации с источником учетных данных;
  • при изменении пароля в результате применения парольной политики.

Состав объекта:

{
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": "",
  "Password": "",
  "OwnerId": 0
}
ПараметрОписание
1Time

Время изменения пароля УЗ.

Значение поля: ISO 8601

2ResourceId

Идентификатор ресурса, в котором изменен пароль УЗ.

Значение поля: целое число

3Login

Имя УЗ, которой изменен пароль.

Значение поля: строка

4Password

Новый пароль УЗ.

Значение поля: строка

5OwnerId

Идентификатор сотрудника – владельца УЗ.

Значение поля: целое число

AccountRightsAssigned – назначение прав доступа учетной записи

Событие возникает в следующих ситуациях:

  • при назначении прав доступа УЗ сотрудника или юнита.

Состав объекта:

{
  "Rights": [
    0
  ],
  "Owner": {
    "Type": null,
    "Id": null
  },
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": ""
}
ПараметрОписание
1

Time

Время возникновения события.

Значение поля: ISO 8601

2

ResourceId

Идентификатор ресурса, в котором создана учетная запись.

Значение поля: целое число

3

Login

Имя учётной записи.

Значение поля: строка

Owner

4

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

5

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка


6

Rights

Список идентификаторов прав доступа УЗ.

Значение поля: список целых чисел

AccountRightsRevoked – отзыв прав доступа УЗ

Событие возникает в следующих ситуациях:

  • при отзыве прав доступа УЗ сотрудника или юнита.

Состав объекта:

{
  "Rights": [
    0
  ],
  "Owner": {
    "Type": null,
    "Id": null
  },
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": ""
}
ПараметрОписание
1

Time

Время возникновения события.

Значение поля: ISO 8601

2

ResourceId

Идентификатор ресурса, в котором создана учетная запись.

Значение поля: целое число

3

Login

Имя учётной записи.

Значение поля: строка

Owner

4

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

5

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка


6

Rights

Список идентификаторов прав доступа УЗ.

Значение поля: список целых чисел

AccountUnlocked – разблокировка УЗ

Событие возникает в следующих ситуациях:

  • в момент разблокировки УЗ сотрудника или юнита (при обработке кадровыми политиками, через бизнес-процессы или администратором Системы).

Состав объекта:

{
  "Reason": "",
  "Owner": {
    "Type": null,
    "Id": null
  },
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": ""
}
ПараметрОписание
1

Reason

Текст причины разблокировки УЗ

2

Time

Время возникновения события.

Значение поля: ISO 8601

3

ResourceId

Идентификатор ресурса, в котором создана учетная запись.

Значение поля: целое число

4

Login

Имя учётной записи.

Значение поля: строка

Owner

5

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

6

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка

AccountUnlockedAuditContextEvent – разблокировка УЗ

Событие возникает в следующих ситуациях:

  • результате аудита системой IDM обнаружено несоответствие между ожидаемым и фактическим состоянием учетной записи: ожидаемое состояние — УЗ заблокирована, фактическое состояние — УЗ разблокирована.

Состав объекта:

{
  "ModificationId": "00000000-0000-0000-0000-000000000000",
  "ResourceId": 0,
  "ResourceName": "",
  "Login": "",
  "EmployeeId": 0,
  "EmployeeName": "",
  "Date": "2024-01-09T10:31:15.6738778+00:00"
}
ПараметрОписание
1

ModificationId

Идентификатор изменения.

Значение поля: GUID

2

ResourceId

Идентификатор ресурса учетной записи.

Значение поля: целое число

3

ResourceName

Наименование ресурса учетной записи.

Значение поля: строка

4

Login

Имя учетной записи

Значение поля: строка

5

EmployeeId

Идентификатор сотрудника – владельца УЗ.

Значение поля: целое число

6

EmployeeName

Имя сотрудника – владельца УЗ.

Значение поля: строка

7

Date

Дата и время события.

Значение поля: ISO 8601

AccountUnlockedContextEvent – УЗ разблокирована

Событие возникает в следующих ситуациях:

  • при разблокировке УЗ работника вне зависимости от источника команды разблокировки.

Состав объекта:

{
  "Time": "0001-01-01T00:00:00",
  "ResourceId": 0,
  "Login": "",
  "Reason": "",
  "OwnerId": null
}
ПараметрОписание
1Time

Время разблокировки УЗ.

Значение поля: ISO 8601

2ResourceId

Идентификатор ресурса в котором разблокирована УЗ.

Значение поля: целое число

3Login

Имя разблокированной УЗ.

Значение поля: строка

4Reason

Причина разблокировки УЗ.

Значение поля: строка

5OwnerId

Идентификатор сотрудника – владельца УЗ.

Значение поля: null

ApplicationCreateContextEvent – создание приложения

Событие возникает в следующих ситуациях:

  • в момент создания приложения в Системе.

Состав объекта:

{
  "Id": "",
  "Name": "",
  "Description": "",
  "CatalogId": ""
}
ПараметрОписание
1
Id

Идентификатор приложения.

Значение поля: строка

2
Name

Наименование приложения.

Значение поля: строка

3
Description

Описание приложения.

Значение поля: строка

4
CatalogId

Идентификатор каталога.

Значение поля: строка

ApplicationRemoveContextEvent – удаление приложения

Событие возникает в следующих ситуациях:

  • в момент удаления приложения из Системы.

Состав объекта:

{
    "Id": ""
}
ПараметрОписание
1
Id

Идентификатор приложения.

Значение поля: строка

ApplicationResponsibleDismissedContextEvent – отзыв полномочий ответственного за приложение сотрудника 

Событие возникает в следующих ситуациях:

  • в момент отзыва полномочий ответственного за приложение сотрудника.

Состав объекта:

{
    "EmployeeId": 0,
    "ApplicationId": ""
}
ПараметрОписание
1
EmployeeId

Идентификатор сотрудника.

Значение поля: целое число

2
ApplicationId

Идентификатор приложения.

Значение поля: строка

ChangeWorkflowAssigneesEvent – изменение назначенных исполнителей

Событие возникает в следующих ситуациях:

  • в момент изменения назначенных исполнителей для конкретной задачи бизнес-процесса.

Состав объекта:

{
  "WorkflowId": 0,
  "Document": null,
  "TaskId": 0,
  "Assignees": [
    {
      "Id": "",
      "Domain": "",
      "Login": "",
      "Name": "",
      "IsAdmin": false,
      "IsAuditor": false,
      "IsManager": false,
      "IsCurator": false,
      "IsRolesAdministrator": false,
      "Employees": [
        {
          "EmployeeId": 0,
          "IsActive": false
        }
      ],
      "Emails": [
        {
          "Email": "",
          "Source": "Hr",
          "SourceInfo": ""
        }
      ],
      "Account": "\\"
    }
  ]
}
ПараметрОписание
1

WorkflowId

Идентификатор бизнес-процесса, с которым связано событие.

Значение поля: целое число

2

Document

Информация о заявке.

Значение поля: строка/null

3

TaskId

Идентификатор задачи.

Значение поля: целое число

4

Assignees

Исполнители, которым назначена задача в рамках рабочего процесса.

Значение поля: список 

DepartmentCreatedContextEvent – создание нового подразделения в ОШС

Событие возникает в следующих ситуациях:

  • в момент кадровой синхронизации с доверенным источником при определении объекта Подразделение в новом слепке, отсутствующего в предыдущем
  • при создании Подразделения через API или пользовательский интерфейс.

Состав объекта:

{
  "DepartmentId": 0,
  "ParentId": null,
  "DepartmentName": "",
  "Path": ""
}
ПараметрОписание
1DepartmentId

Идентификатор нового подразделения.

Значение поля: целое число

2ParentId

Идентификатор родительского подразделения.

Значение поля: null

3DepartmentName

Наименование нового подразделения.

Значение поля: строка

4Path

Путь к подразделению от корневого.

Значение поля: строка

EmployeeAbsenceContextEvent – кадровый перевод сотрудника

Событие возникает в следующих ситуациях:

  • в момент кадровой синхронизации с доверенным источником при определении объекта Сотрудник в новом слепке, статус которого изменен на "отсутствует" или "отстранён" с любого другого относительно предыдущего слепка;
  • в момент кадровой синхронизации с доверенным источником при определении объекта Сотрудник в новом слепке, статус которого изменен с "отсутствует" или "отстранён" на "работает" относительно предыдущего слепка;
  • при отправке Сотрудника в отпуск, отстранении, возврате из отсутствия или отстранения через API или пользовательский интерфейс.

Состав объекта:

{
  "Action": "Start",
  "EmployeeStatus": "",
  "EmployeeId": 0,
  "DivisionId": 0,
  "PositionId": 0
}
ПараметрОписание
1Action

Статус действия.

Значение поля: "Start" – начало отсутствия, "End" – окончание отсутствия 

2EmployeeStatus

Результирующий статус сотрудника после наступления события.

Значение поля: строка

3EmployeeId

Идентификатор сотрудника.

Значение поля: целое число

4DivisionId

Идентификатор подразделения сотрудника.

Значение поля: целое число

5PositionId

Идентификатор должности сотрудника.

Значение поля: целое число

EmployeeDismissContextEvent – увольнение сотрудника

Событие возникает в следующих ситуациях:

  • в момент кадровой синхронизации с доверенным источником при определении отсутствия объекта Сотрудник в новом слепке, присутствующем в предыдущем слепке источника если запуск осуществлялся с флагом AllowDelete=true;
  • в момент кадровой синхронизации с доверенным источником при определении объекта Сотрудник в новом слепке, статус которого изменен на "уволен" с любого другого относительно предыдущего слепка;
  • при увольнении Сотрудника через API или пользовательский интерфейс.

Состав объекта:

{
  "Date": "0001-01-01T00:00:00",
  "DivisionId": 0,
  "PositionId": 0,
  "EmployeeId": 0,
  "EmployeeName": ""
}
ПараметрОписание
1Date

Дата увольнения сотрудника.

Значение поля: ISO 8601

2DivisionId

Идентификатор подразделения из которого уволен сотрудник.

Значение поля: целое число

3PositionId

Идентификатор должности из которого уволен сотрудник.

Значение поля: целое число

4EmployeeId

Идентификатор уволенного сотрудника.

Значение поля: целое число

5EmployeeName

Полное имя уволенного сотрудника.

Значение поля: строка

EmployeeHireContextEvent – приём сотрудника

Событие возникает в следующих ситуациях:

  • в момент кадровой синхронизации с доверенным источником при определении объекта Сотрудник в новом слепке, отсутствующем в предыдущем слепке источника;
  • в момент кадровой синхронизации с доверенным источником при определении объекта Сотрудник в новом слепке, статус которого изменен с "уволен" на любой другой относительно предыдущего слепка;
  • при создании объекта Сотрудник  отличным от "уволен" через API или пользовательский интерфейс.

Состав объекта:

{
  "Date": "0001-01-01T00:00:00",
  "DivisionId": 0,
  "PositionId": 0,
  "EmployeeId": 0,
  "EmployeeName": ""
}
ПараметрОписание
1Date

Дата приёма сотрудника.

Значение поля: ISO 8601

2DivisionId

Идентификатор подразделения в которое принят сотрудник.

Значение поля: целое число

3PositionId

Идентификатор должности на которую принят сотрудник.

Значение поля: целое число

4EmployeeId

Идентификатор принятого сотрудника.

Значение поля: целое число

5EmployeeName

Полное имя принятого сотрудника.

Значение поля: строка

EmployeeNameChangedContextEvent – изменение ФИО сотрудника

Событие возникает в следующих ситуациях:

  • в момент кадровой синхронизации с доверенным источником при определении объекта Сотрудник в новом слепке, фамилия, имя или отчество которого изменены относительно предыдущего слепка;
  • при изменении фамилии, имени или отчества Сотрудника через API или пользовательский интерфейс.

Состав объекта:

{
  "EmployeeId": 0,
  "EmployeePreviousName": "",
  "EmployeeNewName": ""
}
ПараметрОписание
1EmployeeId

Идентификатор сотрудника.

Значение поля: целое число

2EmployeePreviousName

Предыдущее полное имя сотрудника.

Значение поля: строка

3EmployeeNewName

Новое полное имя сотрудника.

Значение поля: строка

EmployeeTransferContextEvent – кадровый перевод сотрудника

Событие возникает в следующих ситуациях:

  • в момент кадровой синхронизации с доверенным источником при определении объекта Сотрудник в новом слепке, должность или подразделение которого изменены относительно предыдущего слепка;
  • при переводе Сотрудника через API или пользовательский интерфейс.

Состав объекта:

{
  "EmployeeId": 0,
  "OldDivisionId": 0,
  "NewDivisionId": 0,
  "OldPositionId": 0,
  "NewPositionId": 0
}
ПараметрОписание
1EmployeeId

Идентификатор переведённого сотрудника.

Значение поля: целое число

2OldDivisionId

Идентификатор подразделения из которого переведён сотрудник.

Значение поля: целое число

3OldPositionId

Идентификатор должности с которой переведён сотрудник.

Значение поля: целое число

4NewDivisionId

Идентификатор подразделения в которое переведён сотрудник.

Значение поля: целое число

5NewPositionId

Идентификатор должности на которую переведён сотрудник.

Значение поля: целое число

ExcessRightsDiscoveredAuditContextEvent – обнаружено превышение полномочий УЗ

Событие возникает в следующих ситуациях:

  • в результате планового или внепланового запуска задачи синхронизации УЗ в ресурсе у УЗ обнаружено право не обеспеченные назначенными ролями или списком свободных прав УЗ. 

Событие создается только при первом обнаружении.

Состав объекта:

{
  "RightName": "",
  "RightId": 0,
  "ModificationId": "00000000-0000-0000-0000-000000000000",
  "ResourceId": 0,
  "ResourceName": "",
  "Login": "",
  "EmployeeId": 0,
  "EmployeeName": "",
  "Date": "2022-11-09T11:39:42.722866+03:00"
}
ПараметрОписание
1RightName

Имя нелегитимно присвоенного права.

Значение поля: строка

2RightId

Идентификатор нелегитимно присвоенного права.

Значение поля: целое число

3ModificationId

Идентификатор модификации.

Значение поля: GUID

4ResourceId

Идентификатор ресурса в котором находится УЗ.

Значение поля: целое число

5ResourceName

Имя ресурса в котором находится УЗ.

Значение поля: строка

6Login

Имя УЗ.

Значение поля: строка

7EmployeeId

Идентификатор сотрудника – владельца УЗ.

Значение поля: целое число

8EmployeeName 

Имя сотрудника – владельца УЗ.

Значение поля: строка

9Date

Дата первого обнаружения нелегитимного полномочия.

Значение поля: ISO 8601 UTC

GlobalRightCreatedContextEvent – создание глобального права доступа

Событие возникает в следующих ситуациях:

  • в момент создания или обнаружения права в ресурсе (добавление права вручную/ синхронизация).

Состав объекта:

{
    "ResourceId": 0,
    "RightId": "",
    "Name": ""
}
ПараметрОписание
1

ResourceId

Идентификатор ресурса УЗ.

Значение поля: целое число

2

RightId

Идентификатор права.

Значение поля: строка

3

Name

Наименование права доступа. 

Значение поля: строка

GlobalRightDeletedContextEvent – удаление глобального права доступа

Событие возникает в следующих ситуациях:

  • в момент удаления глобального права из ресурса.

Состав объекта:

{
    "ResourceId": 0,
    "RightId": "",
    "Name": ""
}
ПараметрОписание
1

ResourceId

Идентификатор ресурса УЗ.

Значение поля: целое число

2

RightId

Идентификатор права.

Значение поля: строка

3

Name

Наименование права доступа. 

Значение поля: строка

GlobalRightUpdatedContextEvent – обновление глобального права доступа

Событие возникает в следующих ситуациях:

  • в момент изменения наименования глобального права доступа.

Состав объекта:

{
    "ResourceId": 0,
    "RightId": "",
    "Name": "",
    "NewName": ""
}
ПараметрОписание
1

ResourceId

Идентификатор ресурса УЗ.

Значение поля: целое число

2

RightId

Идентификатор права.

Значение поля: строка

3

Name

Наименование права доступа. 

Значение поля: строка

4

NewName

Новое наименование права доступа.

Значение поля: строка

InviteActivated – приглашение к регистрации активировано

Событие возникает в следующих ситуациях:

  • в момент активации приглашения к регистрации в Системе через бизнес-процесс. 

Состав объекта:

{
    "Id": "00000000-0000-0000-0000-000000000000",
    "FullName": "",
    "UserId": null
}
ПараметрОписание
1

Id

Идентификатор приглашения к регистрации. 

Значение поля: GUID

2

FullName

Полное имя сотрудника.

Значение поля: строка

3

UserId

Идентификатор пользователя.

Значение поля: null/GUID

InviteCreated – приглашение к регистрации создано

Событие возникает в следующих ситуациях:

  • в момент создания приглашения к регистрации через бизнес-процесс.

Состав объекта:

{
    "Id": "00000000-0000-0000-0000-000000000000",
    "FullName": "",
    "UserId": null
}
ПараметрОписание
1

Id

Идентификатор приглашения к регистрации. 

Значение поля: GUID

2

FullName

Полное имя сотрудника.

Значение поля: строка

3

UserId

Идентификатор пользователя.

Значение поля: null/GUID

InviteError – ошибка приглашения к регистрации

Событие возникает в следующих ситуациях:

  • в момент возникновения ошибки в процессе регистрации в Системе по приглашению.

Состав объекта:

{
    "Id": "00000000-0000-0000-0000-000000000000",
    "FullName": "",
    "UserId": null,
    "ErrorMessage": ""
}
ПараметрОписание
1

Id

Идентификатор приглашения к регистрации. 

Значение поля: GUID

2

FullName

Полное имя сотрудника.

Значение поля: строка

3

UserId

Идентификатор пользователя.

Значение поля: null/GUID

4

ErrorMessage

Сообщение об ошибке

Значение поля: строка

InviteExpired – приглашение к регистрации истекло

Событие возникает в следующих ситуациях:

  • при истечении срока действия приглашения к регистрации в Системе. 

Состав объекта:

{
    "Id": "00000000-0000-0000-0000-000000000000",
    "FullName": "",
    "UserId": null
}
ПараметрОписание
1

Id

Идентификатор приглашения к регистрации. 

Значение поля: GUID

2

FullName

Полное имя сотрудника.

Значение поля: строка

3

UserId

Идентификатор пользователя.

Значение поля: null/GUID

InviteRegistrationCompleted – завершение регистрации по приглашению

Событие возникает в следующих ситуациях:

  • в момент успешного завершения процесса регистрации в Системе по приглашению.


Состав объекта:

{
    "Id": "00000000-0000-0000-0000-000000000000",
    "FullName": "",
    "UserId": null
}
ПараметрОписание
1

Id

Идентификатор приглашения к регистрации. 

Значение поля: GUID

2

FullName

Полное имя сотрудника.

Значение поля: строка

3

UserId

Идентификатор пользователя.

Значение поля: null/GUID

InviteRevoked – отзыв приглашения к регистрации

Событие возникает в следующих ситуациях:

  • в случае отзыва приглашения к регистрации в Системе.

Состав объекта:

{
    "Id": "00000000-0000-0000-0000-000000000000",
    "FullName": "",
    "UserId": null
}
ПараметрОписание
1

Id

Идентификатор приглашения к регистрации. 

Значение поля: GUID

2

FullName

Полное имя сотрудника.

Значение поля: строка

3

UserId

Идентификатор пользователя.

Значение поля: null/GUID

MissingRightsAuditContextEvent – отсутствие права доступа

Событие возникает в следующих ситуациях:

  • в результате планового или внепланового запуска задачи синхронизации УЗ в ресурсе у УЗ обнаружено отсутствие права, обеспеченного назначенными ролями или списком свободных прав УЗ. 

Событие создается только при первом обнаружении.

Состав объекта:

{
    "RoleId": 0,
    "RoleName": "",
    "RoleComment": "",
    "RightName": "",
    "RightId": 0,
    "ModificationId": "00000000-0000-0000-0000-000000000000",
    "ResourceId": 0,
    "ResourceName": "",
    "Login": "",
    "EmployeeId": 0,
    "EmployeeName": "",
    "Date": "0001-01-01T00:00:00"
}
ПараметрОписание
1

RoleId

Идентификатор роли, назначенной пользователю, на которую не хватает полномочий УЗ.

Значение поля: целое число

2

RoleName

Наименование роли, назначенной пользователю, на которую не хватает полномочий УЗ.

Значение поля: строка

3

RoleComment

Описание роли.

Значение поля: строка

4

RightName

Наименование нелегитимно присвоенного права.

Значение поля: строка

5

RightId

Идентификатор нелегитимно присвоенного права.

Значение поля: целое число

6

ModificationId

Идентификатор изменения.

Значение поля: GUID

7

ResourceId

Идентификатор ресурса, в котором находится УЗ.

Значение поля: целое число

8

ResourceName

Наименование ресурса, в котором находится УЗ.

Значение поля: строка

9

Login

Имя учетной записи.

Значение поля: строка

10

EmployeeId

Идентификатор сотрудника – владельца УЗ.

Значение поля: целое число

11

EmployeeName

Имя сотрудника – владельца УЗ.

Значение поля: строка

12

Date

Дата первого обнаружения недостающего полномочия.

Значение поля: ISO 8601

NewAccountOwnerFound – обнаружен новый потенциальный владелец незарегистрированной УЗ

Событие возникает в следующих ситуациях:

  • в результате планового или внепланового запуска задачи поиска владельцев незарегистрированных УЗ (сотрудника или юнита) в ресурсе обнаружен новый потенциальный владелец. 

Состав объекта:

{
    "ResourceId": 0,
    "Login": "",
    "Owner": {
        "Type": "Employee",
        "Id": ""
    },
    "ProfileId": 0
}
ПараметрОписание
1

ResourceId

Идентификатор ресурса УЗ.

Значение поля: целое число

2

Login

Имя учетной записи.

Значение поля: строка

Owner

3

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

4

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка


5

ProfileId

Идентификатор потенциального профиля УЗ.

Значение поля: целое число

NewAccountOwnerFoundContextEvent – обнаружен новый потенциальный владелец незарегистрированной УЗ

Событие возникает в следующих ситуациях:

  • в результате планового или внепланового запуска задачи поиска владельцев незарегистрированных УЗ в ресурсе обнаружен новый потенциальный владелец. 

Состав объекта:

{
  "ResourceId": 0,
  "Login": "",
  "OwnerId": 0,
  "ProfileId": 0
}
ПараметрОписание
1ResourceId

Идентификатор ресурса в котором разблокирована УЗ.

Значение поля: целое число

2Login

Имя УЗ.

Значение поля: строка

3OwnerId

Идентификатор сотрудника потенциального владельца УЗ.

Значение поля: целое число

4ProfileId

Потенциальный профиль УЗ.

Значение поля: целое число

ResourceCreateContextEvent – создание ресурса

Событие возникает в следующих ситуациях:

  • в момент создания ресурса в Системе (администратором IDM или через API).

Состав объекта:

{
    "Id": 0
}
ПараметрОписание
1

Id

Идентификатор ресурса УЗ.

Значение поля: целое число

ResourcePropertyUpdateContextEvent – обновление свойства ресурса

Событие возникает в следующих ситуациях:

  • в момент обновления расширенных свойств ресурса (администратором IDM или через API).

Состав объекта:

{
    "Id": 123,
    "PropertyName": "",
    "OldValue": "",
    "NewValue": ""
}
ПараметрОписание
1

Id

Идентификатор ресурса УЗ.

Значение поля: целое число

2

PropertyName

Название изменяемого свойства ресурса.

Значение поля: строка

3

OldValue

Старое значение свойства ресурса.

Значение поля: строка

4

NewValue

Новое значение свойства ресурса.

Значение поля: строка

ResourceRemoveContextEvent – удаление ресурса

Событие возникает в следующих ситуациях:

  • в момент удаления ресурса из Системы (администратором IDM или через API).

Состав объекта:

{
    "Id": 0
}
ПараметрОписание
1

Id

Идентификатор ресурса УЗ.

Значение поля: целое число

ResourceUpdateContextEvent – обновление ресурса

Событие возникает в следующих ситуациях:

  • в момент изменения конфигурации ресурса (администратором IDM или через API)

Состав объекта:

{
    "Id": 123,
    "ProfileId": null
}
ПараметрОписание
1

Id

Идентификатор ресурса УЗ.

Значение поля: целое число

2

ProfileId

Идентификатор профиля, связанного с ресурсом.

Значение поля: целое число/ null

RevertModificationAuditContextEvent – отмена изменений

Событие возникает в следующих ситуациях:

  • в момент исправления расхождений прав из интерфейса привилегированного пользователя в режиме «Аудит».

Состав объекта:

{
    "ModificationType": "",
    "Modification": "",
    "ResourceId": 0,
    "Login": "",
    "Host": ""
}
ПараметрОписание
1

ModificationType

Тип изменения.

Значение поля: строка

2

Modification

Наименование изменения.

Значение поля: строка

3

ResourceId

Идентификатор ресурса УЗ.

Значение поля: целое число

4

Login

Имя УЗ. 

Значение поля: строка

5

Host

Имя сервера, с которого производится действие.

Значение поля: строка

RoleAssigned – назначение роли

Событие возникает в следующих ситуациях:

  • в момент назначения роли сотруднику или юниту.

Состав объекта:

{
    "Date": "0001-01-01T00:00:00+00:00",
    "TaskId": 0,
    "RoleId": 0,
    "Owner": {
        "Type": "Employee",
        "Id": ""
    }
}
ПараметрОписание
1

Date

Дата и время события с учетом часового пояса.

Значение поля: ISO 8601 UTC

2

TaskId

Идентификатор задачи.

Значение поля: целое число

3

RoleId

Идентификатор роли.

Значение поля: целое число

Owner

4

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

5

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка

RoleDynamicProfileChangeContextEvent – изменение динамического профиля роли

Событие возникает в следующих ситуациях:

  • в момент изменения динамического профиля роли.

Состав объекта:

{
    "RoleId": 0,
    "DynamicProfileId": 0
}
ПараметрОписание
1

RoleId

Идентификатор роли.

Значение поля: целое число

2

DynamicProfileId

Идентификатор динамического профиля.

Значение поля: целое число

RoleRevoked – отзыв роли 

Событие возникает в следующих ситуациях:

  • в момент отзыва роли у сотрудника или юнита.

Состав объекта:

{
    "Date": "0001-01-01T00:00:00+00:00",
    "TaskId": 0,
    "RoleId": 0,
    "Owner": {
        "Type": "Employee",
        "Id": ""
    }
}
ПараметрОписание
1

Date

Дата и время события с учетом часового пояса.

Значение поля: ISO 8601 UTC

2

TaskId

Идентификатор задачи.

Значение поля: целое число

3

RoleId

Идентификатор роли.

Значение поля: целое число

Owner

4

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

5

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка

UnitAddLinkContextEvent – добавление связи юнита

Событие возникает в следующих ситуациях:

  • в момент синхронизации с доверенным источником при определении наличия новой связи объекта в новом слепке, относительно предыдущего;
  • при добавлении связи юнита через API или пользовательский интерфейс.

Состав объекта:

{
  "Id": "",
  "LinkId": ""
}
ПараметрОписание
1Id

Идентификатор измененного юнита.

Значение поля: строка

2LinkId

Идентификатор добавленной связи.

Значение поля: строка

UnitCreateContextEvent – создание нового юнита

Событие возникает в следующих ситуациях:

  • в момент синхронизации с доверенным источником при определении объекта в новом слепке, отсутствующего в предыдущем;
  • при создании юнита через API или пользовательский интерфейс.

Состав объекта:

{
  "Id": ""
}
ПараметрОписание
1Id

Идентификатор нового юнита.

Значение поля: строка

UnitRemoveContextEvent – удаление юнита

Событие возникает в следующих ситуациях:

  • в момент синхронизации с доверенным источником при определении отсутствия объекта в новом слепке, присутствующего в предыдущем;
  • при удалении юнита через API или пользовательский интерфейс.

Состав объекта:

{
  "Id": ""
}
ПараметрОписание
1Id

Идентификатор удаленного юнита.

Значение поля: строка

UnitUpdateContextEvent – изменение юнита

Событие возникает в следующих ситуациях:

  • в момент синхронизации с доверенным источником при определении изменения атрибутов объекта в новом слепке, относительно предыдущего;
  • при изменении юнита через API или пользовательский интерфейс.

Состав объекта:

{
  "Id": ""
}
ПараметрОписание
1Id

Идентификатор измененного юнита.

Значение поля: строка

UnregisteredAccountAuditContextEvent – обнаружена незарегистрированная УЗ

Событие возникает в следующих ситуациях:

  • в момент обнаружения незарегистрированной в Системе УЗ при запуске планировщика поиска активных учётных записей. 

Состав объекта:

{
  "ResourceId": 0,
  "ResourceName": "",
  "Login": "",
  "PossibleOwnersEmployeeIds": [
    0
  ]
}
ПараметрОписание
1

ResourceId

Идентификатор ресурса УЗ.

Значение поля: целое число

2

ResourceName

Наименование ресурса УЗ.

Значение поля: строка

3

Login

Имя УЗ.

Значение поля: строка

4

PossibleOwnersEmployeeIds

Идентификаторы сотрудников, которые могут быть владельцами обнаруженной УЗ.

Значение поля: список

WrongUserProperty – обнаружено некорректное свойство УЗ

Событие возникает в следующих ситуациях:

  • в момент обнаружения расхождения свойств УЗ сотрудника или юнита системой внутреннего аудита. 

Состав объекта:

{
  "RoleId": 0,
  "RoleName": "",
  "RoleComment": "",
  "PropertyId": "",
  "ActualPropertyValue": "",
  "ExpectedPropertyValue": "",
  "ModificationId": "00000000-0000-0000-0000-000000000000",
  "ResourceId": 0,
  "ResourceName": "",
  "Login": "",
  "Owner": {
    "Type": null,
    "Id": null
  },
  "Date": "2024-01-09T10:31:15.6740229+00:00"
}
ПараметрОписание
1

RoleId

Идентификатор роли.

Значение поля: целое число

2

RoleName

Наименование роли учетной записи.

Значение поля: строка

3

RoleComment

Комментарий к роли учетной записи.

Значение поля: строка

4

PropertyId

Идентификатор свойства.

Значение поля: строка

5

ActualPropertyValue

Фактическое значение свойства.

Значение поля: строка

6

ExpectedPropertyValue

Ожидаемое значение свойства.

Значение поля: строка

7

ModificationId

Идентификатор изменения.

Значение поля: GUID

8

ResourceId

Идентификатор ресурса УЗ.

Значение поля: целое число

9

ResourceName

Наименование ресурса учетной записи.

Значение поля: строка

10

Login

Имя учетной записи.

Значение поля: строка

Owner

11

Owner[].Type

Тип владельца учетной записи.

Значение поля: "Employee" – сотрудник, "Unit" – юнит

12

Owner[].Id

Идентификатор владельца учетной записи.

Значение поля: строка


13

Date

Дата и время события.

Значение поля: ISO 8601

WrongUserPropertyAuditContextEvent – обнаружено некорректное свойство УЗ

Событие возникает в следующих ситуациях:

  • в момент обнаружения расхождения свойств УЗ сотрудника системой внутреннего аудита.

Состав объекта:

{
  "RoleId": 0,
  "RoleName": "",
  "RoleComment": "",
  "PropertyId": "",
  "ActualPropertyValue": "",
  "ExpectedPropertyValue": "",
  "ModificationId": "00000000-0000-0000-0000-000000000000",
  "ResourceId": 0,
  "ResourceName": "",
  "Login": "",
  "EmployeeId": 0,
  "EmployeeName": "",
  "Date": "2024-01-09T10:31:15.6739092+00:00"
}
ПараметрОписание
1

RoleId

Идентификатор роли.

Значение поля: целое число

2

RoleName

Наименование роли учетной записи.

Значение поля: строка

3

RoleComment

Комментарий к роли учетной записи.

Значение поля: строка

4

PropertyId

Идентификатор свойства.

Значение поля: строка

5

ActualPropertyValue

Фактическое значение свойства.

Значение поля: строка

6

ExpectedPropertyValue

Ожидаемое значение свойства.

Значение поля: строка

7

ModificationId

Идентификатор изменения.

Значение поля: GUID

8

ResourceId

Идентификатор ресурса УЗ.

Значение поля: целое число

9

ResourceName

Наименование ресурса учетной записи.

Значение поля: строка

10

Login

Имя учетной записи.

Значение поля: строка

11

EmployeeId

Идентификатор сотрудника – владельца УЗ.

Значение поля: целое число

12

EmployeeName

Имя сотрудника – владельца УЗ.

Значение поля: строка

13

Date

Дата и время события.

Значение поля: ISO 8601

Обсуждение