# ticket.assignToNextQueuePerson()

#### <span style="color: #222222; font-size: 1.666em;">Назначить заявку следующему исполнителю</span>  


```JavaScript
ticket.assignToNextQueuePerson(int $queueMode = 1, int|null $personQueueId = null, string|null $personQueueTable = null, int|null $currentAssignAttempt = null, bool $isIncRejectsCount = true, bool $isMoveToEndIfRejectsExceed = true)
```

##### Описание:

<span style="font-weight: 400;">Назначить заявку следующему исполнителю. Исполнитель будет определен, как первый в очереди распределения по типу заявки.</span>

<span style="font-weight: 400;">Логика работы функции:</span>

1. <span style="font-weight: 400;">Ищет первую персону из очереди распределения, которой еще не назначали тикет (заявку).</span>
2. <span style="font-weight: 400;">Если персоны нет, то возвращаем false (чтобы остановить триггер распределения очереди).</span>
3. <span style="font-weight: 400;">Увеличивает счетчик отказов у найденной персоны.</span>
4. <span style="font-weight: 400;">Увеличивается счетчик отказов по найденному исполнителю.</span>
5. <span style="font-weight: 400;">Если кол-во отказов &gt;= $maxRejects, то исполнитель переносится в конец очереди </span><span style="font-weight: 400;">(исполнитель текущий, которого нашли, а не первый в очереди).</span>
6. <span style="font-weight: 400;">Назначает заявку найденной персоне.</span>

<span style="font-weight: 400;">Поиск исполнителя выполняется по следующим критериям:</span>

- <span style="font-weight: 400;">Исполнитель есть в очереди по типу заявки;</span>
- <span style="font-weight: 400;">Исполнитель активен в очереди распределения (включена соответствующая галка);</span>
- <span style="font-weight: 400;">Исполнителю еще не назначалась данная заявка.</span>

<p class="callout warning"><span style="font-weight: 400;">Условие (количество отказов по исполнителю rejects\_count &lt; $maxRejects+1) НЕ НУЖНО, т.к.:   
</span><span style="font-weight: 400;">1. Как только лимит превышен персона сразу будет перемещена в конец очереди, а счетчик сброшен.  
</span><span style="font-weight: 400;">2. Может возникнуть баг, если лимит превышен, персона никогда не попадет в выборку и ее счетчик не будет сброшен.</span></p>

##### Атрибуты:

<table border="1" id="bkmrk-%D0%98%D0%BC%D1%8F-%D0%A2%D0%B8%D0%BF-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-isi" style="border-collapse: collapse; width: 100%; height: 432.5px;"><tbody><tr style="background-color: #ced4d9; height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">Имя</td><td style="width: 33.2909%; height: 29.7969px;">Тип</td><td style="width: 33.2948%; height: 29.7969px;">Описание</td></tr><tr style="height: 169.734px;"><td style="width: 33.2909%; height: 169.734px;">queueMode </td><td style="width: 33.2909%; height: 169.734px;">int</td><td style="width: 33.2948%; height: 169.734px;">Режим работы очереди.

Для работы с очередью на основе видов заявок указывать не нужно, будет использовано значение по умолчанию **1**;  
Для работы с очередью на основе видов очередей указать **2.**

</td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">personQueueId </td><td style="width: 33.2909%; height: 29.7969px;">int|null</td><td style="width: 33.2948%; height: 29.7969px;"><span style="font-weight: 400;">id очереди</span></td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">personQueueTable </td><td style="width: 33.2909%; height: 29.7969px;">string|null</td><td style="width: 33.2948%; height: 29.7969px;"><span style="font-weight: 400;">Название таблицы-связки для очередей</span></td></tr><tr style="height: 29.7969px;"><td style="width: 33.2909%; height: 29.7969px;">currentAssignAttempt </td><td style="width: 33.2909%; height: 29.7969px;">int|null</td><td style="width: 33.2948%; height: 29.7969px;"><span style="font-weight: 400;">Номер попытки прогона одного и того же тикета по той же очереди</span>

</td></tr><tr style="height: 46.5938px;"><td style="width: 33.2909%; height: 46.5938px;">isIncRejectsCount</td><td style="width: 33.2909%; height: 46.5938px;">bool</td><td style="width: 33.2948%; height: 46.5938px;"><span style="font-weight: 400;">Увеличивать или нет счетчик попыток у персоны (в очереди исполнителей)</span></td></tr><tr style="height: 96.9844px;"><td style="width: 33.2909%; height: 96.9844px;">isMoveToEndIfRejectsExceed</td><td style="width: 33.2909%; height: 96.9844px;">bool</td><td style="width: 33.2948%; height: 96.9844px;"><span style="font-weight: 400;">Переносить или нет персону в конец очереди и сбрасывать счетчик попыток, если кол-во попыток превышено (превышает число указанное в настройках бота)</span></td></tr></tbody></table>

##### Возвращает:

**bool** — подтверждение назначения заявки следующему исполнителю<span style="font-weight: 400;">.</span>