Квоты
В данном разделе можно ограничить создание объектов для конкретного оператора.
Квота — предназначена для задания дополнительных ограничений при проверке прав пользователя на выполнение бизнес-действий. Управление квотами осуществляется в разделе «Администрирование - Квоты» и доступно операторам с ролью «Администрирование».
-
Нажмите «Добавить» — откроется окно создания квоты.
-
Заполните поля:
- Название — укажите наименование квоты.
- Домен — выберите тип объектов, например: заявки, субъект доступа, приглашение, пропуск.
- Действие — выберите «Добавление объектов».
- Правило объектов — задайте дополнительное условие, например, ограничение только на создание автомобилей. Для этого укажите нужное условие в правиле.
-
Сообщение при превышении квоты — введите текст, который будет показан пользователю при достижении лимита.
-
Перейдите на вкладку «Ограничения»:
- Установите чек-бокс «Ограничить количество пользований».
- После этого станут доступны поля:
- Количество — укажите лимит (например, количество заявок или посетителей).
- Кол-во времени и Промежуток времени — выберите период: дни, недели или месяцы.
-
На вкладке «Дополнительные ограничения» вы можете задать более гибкие условия для квоты, используя 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"
}
]
}
}
]
Применение квоты к оператору
После того как квота создана и настроена, её необходимо привязать к конкретному оператору.
Для этого:
- Перейдите в раздел «Профили операторов».
- В соответствующем поле выберите созданную квоту из списка.
- Сохраните изменения.
Теперь для этого оператора будут действовать все ограничения, заданные в квоте (лимиты, условия и дополнительные JSON-правила).
Логика работы
- При попытке отправить черновик заявки в обработку выполняется проверка квоты текущего оператора.
- Если количество активных выдач по ранее оформленным оператором заявкам равно или превышает заданное в условии квоты значение, подача заявки блокируется. Пользователю отображается окно с ошибкой подтверждения черновика, содержащее текст сообщения, заданный в квоте.
- Если количество активных выдач по ранее оформленным оператором заявкам меньше заданного в условии квоты значения, подача заявки разрешается. Далее заявка обрабатывается в соответствии со стандартной логикой системы: переводится в статус «Согласовано», если согласование не требуется, либо в статус «На согласовании», если используется процесс согласования заявки.