Выбрать дежурного по переданному графику
Робот «Выбрать дежурного по переданному графику». Определяет дежурного на заданный момент и использует явно указанный резерв, когда активной смены нет.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую проблему решает
Для диспетчера поддержки, работающего по собственному графику дежурств. Определяет дежурного по времени обращения и явно показывает конфликт смен или использование резерва.
Что подготовить
Установите действие в каталоге приложения «CRM роботы 2.0 + AI», затем добавьте его в нужную точку автоматизации. Для чтения или изменения объектов нужен соответствующий доступ пользователя подключения. Идентификаторы берите из полей карточки или результатов предыдущих шагов: название объекта не заменяет его числовой ID.
Параметры и значения
| Поле в настройке | Тип | Обязательность и исходное значение |
|---|---|---|
| Момент выбора ISO с часовым поясом | Строка | Обязательное; значение по умолчанию не задано |
| График смен JSON | Текст | Обязательное; значение по умолчанию не задано |
| Пересечение смен | Выбор из списка | Обязательное; значение по умолчанию не задано |
| Варианты поля «Пересечение смен» | reject: Не выбирать при пересечении; lowest_priority: Наименьший приоритет, если единственный |
|
| Резервный сотрудник, 0: без резерва | Целое число | Необязательное; по умолчанию 0 |
Поля, обозначенные JSON, заполняйте корректными массивами или объектами с двойными кавычками в строках. Подставляйте одно значение через штатный выбор данных редактора; не копируйте служебный идентификатор шага из другого шаблона.
Как использовать пошагово
- Укажите момент выбора с часовым поясом.
- Передайте смены с
id,employeeId,start,endи необязательнымpriority, например[{"id":"s1","employeeId":21,"start":"2026-10-15T09:00+03:00","end":"2026-10-15T18:00+03:00","priority":0}]. - Выберите политику пересечений: запрет выбора либо единственная смена с наименьшим приоритетом.
- При необходимости укажите резервного сотрудника. Значение 0 отключает резерв.
- Передайте выбранный ID в отдельное назначение только при положительном результате определения; разберите причину и признак резерва.
Учебный пример и ожидаемый результат
Для графика выше момент 2026-10-15T12:00:00+03:00 попадает в смену 21. В 18:00 она уже не действует: конец исключён. Если других смен нет, может применяться явно заданный резерв. Все номера объектов в примере условные; замените их данными своего портала. Пример объясняет настройку, а не подтверждает выполненный запуск.
Какие результаты передать дальше
- Дежурный определен: да/нет (Y/N).
- Выбранный ID: целое число.
- ID выбранной смены: строка.
- shift/fallback/none/ambiguous: строка.
- Использован резерв: да/нет (Y/N).
В следующем действии откройте выбор данных и выберите результат этого робота по названию. Сначала проверьте статус выполнения; при ошибке передайте её пояснение на разбор и не используйте пустые значения как подтверждённый результат. Успех шага и положительный ответ на бизнес-проверку: разные условия.
Ограничения и исправление ошибок
До 1000 смен и 1 МБ. Приоритет: целое 0–1000, по умолчанию 0. Равные лучшие приоритеты дают неоднозначность. Резерв применяется только без смен, но не скрывает их конфликт. Онлайн, активность и занятость автоматически не проверяются; назначение CRM не выполняется.
Если доступ изменился, сначала проверьте объект под пользователем подключения и актуальность ID. Повторяйте действие после устранения причины. Для действий с записью предварительно сверяйте фактическое состояние: сообщение об ошибке само по себе не доказывает, что ни одна правка не сохранилась.
Как заполнять JSON-поля
Каждый блок ниже вставляется целиком в своё поле. Не добавляйте внешние кавычки вокруг всего массива или объекта. Учебные ID и названия замените фактическими данными.
График смен JSON
[
{
"id": "s1",
"employeeId": 21,
"start": "2026-10-15T09:00:00+03:00",
"end": "2026-10-15T18:00:00+03:00",
"priority": 0
}
]
Массив до 1000 смен. У каждой обязательны уникальный строковый id, положительный числовой employeeId, строковые начало start и конец end с поясом. priority необязателен, целое 0–1000, по умолчанию 0. Источник: согласованный график дежурств. Начало включено, конец исключён. [] допустим как отсутствие смен: тогда используется явно заданный резерв либо причина none. {} вместо массива неверен.