Перейти к основному содержимому

Квоты

В данном разделе можно ограничить создание объектов для конкретного оператора.

Квота — предназначена для задания дополнительных ограничений при проверке прав пользователя на выполнение бизнес-действий. Управление квотами осуществляется в разделе «Администрирование - Квоты» и доступно операторам с ролью «Администрирование».

  1. Нажмите «Добавить» — откроется окно создания квоты.

  2. Заполните поля:

    • Название — укажите наименование квоты.
    • Домен — выберите тип объектов, например: заявки, субъект доступа, приглашение, пропуск.
    • Действие — выберите «Добавление объектов».
    • Правило объектов — задайте дополнительное условие, например, ограничение только на создание автомобилей. Для этого укажите нужное условие в правиле.
  3. Сообщение при превышении квоты — введите текст, который будет показан пользователю при достижении лимита.

  4. Перейдите на вкладку «Ограничения»:

    • Установите чек-бокс «Ограничить количество пользований».
    • После этого станут доступны поля:
      • Количество — укажите лимит (например, количество заявок или посетителей).
      • Кол-во времени и Промежуток времени — выберите период: дни, недели или месяцы.
  5. На вкладке «Дополнительные ограничения» вы можете задать более гибкие условия для квоты, используя JSON-формат.

    Способы добавления:

    • Ввести JSON-код вручную в текстовое поле.
    • Загрузить готовый JSON-файл.

    Пример ограничения:

    Не разрешать создавать новые заявки, если по уже существующим заявкам было выдано 5 пропусков с категорией «Автомобиль».

    Пример JSON-кода для такого условия:

[
{
"objType": "User",
"fields": [
{
"fieldType": "EXPRESSION",
"expressionType": "LESS",
"nestedFields": [
{
"fieldType": "EXPRESSION",
"expressionType": "COUNT",
"nestedFields": [
{
"fieldId": "v_issuanceAuditEventsForMyInvitations",
"fieldType": "ATTRIBUTE",
"nestedFields": [
{
"fieldId": "id",
"fieldType": "ATTRIBUTE"
}
]
}
]
},
{
"fieldType": "LITERAL",
"value": "5"
}
]
}
],
"internalFilter": {
"operator": "and",
"operands": [
{
"operator": "eq",
"key": "id",
"val": "${me.id}",
"valType": "string"
},
{
"operator": "eq",
"key": "v_issuanceAuditEventsForMyInvitations.v_initiatorPerson.categoryId",
"val": "019ff05b-d0c7-7a5a-a124-db707b02894f",
"valType": "string"
}
]
}
}
]

Применение квоты к оператору

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

Для этого:

  1. Перейдите в раздел «Профили операторов».
  2. В соответствующем поле выберите созданную квоту из списка.
  3. Сохраните изменения.

Теперь для этого оператора будут действовать все ограничения, заданные в квоте (лимиты, условия и дополнительные JSON-правила).

Логика работы

  • При попытке отправить черновик заявки в обработку выполняется проверка квоты текущего оператора.
  • Если количество активных выдач по ранее оформленным оператором заявкам равно или превышает заданное в условии квоты значение, подача заявки блокируется. Пользователю отображается окно с ошибкой подтверждения черновика, содержащее текст сообщения, заданный в квоте.
  • Если количество активных выдач по ранее оформленным оператором заявкам меньше заданного в условии квоты значения, подача заявки разрешается. Далее заявка обрабатывается в соответствии со стандартной логикой системы: переводится в статус «Согласовано», если согласование не требуется, либо в статус «На согласовании», если используется процесс согласования заявки.