# lead.assignDialogToNextOperator() ### Назначить диалог на следующего оператора ```JavaScript lead.assignDialogToNextOperator(string|null $departmentCode = null, bool $isOnline = true, bool $isForwardIfOperatorNotFound = true, bool $useLocks = true) ``` ##### Описание: Назначает диалог на следующего оператора полученного с помощью **getNextOperators**. Варианты откуда может запускаться: \- оператор сам подключился к КЦ и в системном скрипте есть вызов данной функции - игнорируем ее вызов; \- функцию вызвали в другом скрипте и она также есть в системном скрипте - игнорируем ее вызов только из системного скрипта; \- функцию вызвали в системном скрипте - не игнорируем ее вызов. Если вызываем функцию из системного скрипта перевода на оператора, то данная функция не выполняет перевод (так как он уже выполнен на момент запуска функции) и также не запускает системный скрипт (так как он уже запущен на момент запуска функции) - для этого есть внутренние механизмы отслеживания, откуда запущена функция, и по сути это исключает рекурсивный запуск функций, для этого и введена новая функция bot / lead.canAutoForward на самом деле выполнять данную проверку canAutoForward смысла нет, так как она выполняется автоматически внутри функций назначения оператора и автоматом отсечет рекурсивный вызов, но где может понадобиться использование canAutoForward - это для написания JavaScript условия - нужно ли отсылать уведомление лиду, о том что скрипт перевод на оператора: пример вызываем назначение на оператора в обычном скрипте, и в этом же скрипте уведомляем о то, что мы перевели на оператора, тогда при запуске системного скрипта Перевод на оператора вывод такого же сообщения нужно исключить. ##### Атрибуты:
Имя | Тип | Описание |
departmentCode | string | Код отдела |
isOnline | bool | Должны ли операторы быть онлайн |
isForwardIfOperatorNotFound | bool | Продолжить если оператор не найден |
useLocks | bool | Использовать ли блокировки |