# ticket.assignToNextQueuePerson() #### Назначить заявку следующему исполнителю ```JavaScript ticket.assignToNextQueuePerson(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, int|null $currentAssignAttempt = null, bool $isIncRejectsCount = true, bool $isMoveToEndIfRejectsExceed = true) ``` ##### Описание: Назначить заявку следующему исполнителю. Исполнитель будет определен, как первый в очереди распределения по типу заявки. Логика работы функции: 1. Ищет первую персону из очереди распределения, которой еще не назначали тикет (заявку). 2. Если персоны нет, то возвращаем false (чтобы остановить триггер распределения очереди). 3. Увеличивает счетчик отказов у найденной персоны. 4. Увеличивается счетчик отказов по найденному исполнителю. 5. Если кол-во отказов >= $maxRejects, то исполнитель переносится в конец очереди (исполнитель текущий, которого нашли, а не первый в очереди). 6. Назначает заявку найденной персоне. Поиск исполнителя выполняется по следующим критериям: - Исполнитель есть в очереди по типу заявки; - Исполнитель активен в очереди распределения (включена соответствующая галка); - Исполнителю еще не назначалась данная заявка.
Условие (количество отказов по исполнителю rejects\_count < $maxRejects+1) НЕ НУЖНО, т.к.: 1. Как только лимит превышен персона сразу будет перемещена в конец очереди, а счетчик сброшен. 2. Может возникнуть баг, если лимит превышен, персона никогда не попадет в выборку и ее счетчик не будет сброшен.
##### Атрибуты:Имя | Тип | Описание |
queueMode | int | Режим работы очереди. Для работы с очередью на основе видов заявок указывать не нужно, будет использовано значение по умолчанию **1**; Для работы с очередью на основе видов очередей указать **2.** |
personQueueId | int|null | id очереди |
personQueueTable | string|null | Название таблицы-связки для очередей |
currentAssignAttempt | int|null | Номер попытки прогона одного и того же тикета по той же очереди |
isIncRejectsCount | bool | Увеличивать или нет счетчик попыток у персоны (в очереди исполнителей) |
isMoveToEndIfRejectsExceed | bool | Переносить или нет персону в конец очереди и сбрасывать счетчик попыток, если кол-во попыток превышено (превышает число указанное в настройках бота) |