Рассчитать срок по отдельному рабочему календарю
Робот «Рассчитать срок по отдельному рабочему календарю». Находит срок после заданного числа рабочих минут, пропуская разрывы в графике процесса.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую проблему решает
Для сервисного координатора и администратора сроков по рабочему графику. Считает срок с пропуском нерабочих разрывов, когда простой отсчёт календарных минут даёт неверное время сдачи.
Что подготовить
Установите действие в каталоге приложения «CRM роботы 2.0 + AI», затем добавьте его в нужную точку автоматизации. Для чтения или изменения объектов нужен соответствующий доступ пользователя подключения. Идентификаторы берите из полей карточки или результатов предыдущих шагов: название объекта не заменяет его числовой ID.
Параметры и значения
| Поле в настройке | Тип | Обязательность и исходное значение |
|---|---|---|
| Рабочие интервалы JSON с start/end и часовым поясом | Текст | Обязательное; значение по умолчанию не задано |
| Начальный момент ISO с часовым поясом | Строка | Обязательное; значение по умолчанию не задано |
| Требуемые рабочие минуты, положительное число | Строка | Обязательное; значение по умолчанию не задано |
Поля, обозначенные JSON, заполняйте корректными массивами или объектами с двойными кавычками в строках. Подставляйте одно значение через штатный выбор данных редактора; не копируйте служебный идентификатор шага из другого шаблона.
Как использовать пошагово
- Подготовьте рабочие интервалы с ключами
startиend; перерывы не включайте в них. - Передайте начальный момент с часовым поясом.
- Укажите положительное число рабочих минут строкой с точкой при дробной части.
- Проверьте признак найденного срока до его использования.
- Передайте найденный срок в отдельную запись поля или задачи. При недостатке времени используйте остаток для расширения графика.
Учебный пример и ожидаемый результат
График содержит 09:00–12:00 и 13:00–18:00 15 октября с поясом +03:00. Отсчёт от 11:00 и 120 рабочих минут даёт 14:00 +03:00, то есть 11:00 UTC: час обеда пропущен. Все номера объектов в примере условные; замените их данными своего портала. Пример объясняет настройку, а не подтверждает выполненный запуск.
Какие результаты передать дальше
- Срок найден: да/нет (Y/N).
- Срок UTC: дата и время.
- Учтенные рабочие секунды: строка.
- Осталось рабочих секунд: строка.
- Использовано непрерывных интервалов: целое число.
В следующем действии откройте выбор данных и выберите результат этого робота по названию. Сначала проверьте статус выполнения; при ошибке передайте её пояснение на разбор и не используйте пустые значения как подтверждённый результат. Успех шага и положительный ответ на бизнес-проверку: разные условия.
Ограничения и исправление ошибок
Рабочий график задаётся явно массивом до 1000 интервалов в пределах 366 суток. Каждый start/end содержит Z либо числовой пояс ±HH:MM. Пересечения, повторы и нулевые интервалы запрещены. Праздники, смены и переходы часовых поясов заранее учтите в массиве: календарь портала не загружается. Результаты времени возвращаются в UTC. Длительность: от 1 микросекунды до 366 суток и должна точно выражаться микросекундами; округления нет. Недостаток графика даёт отрицательный признак нахождения, пустой срок и оставшиеся секунды при успешном выполнении. Запись в карточки не производится.
Если доступ изменился, сначала проверьте объект под пользователем подключения и актуальность ID. Повторяйте действие после устранения причины. Для действий с записью предварительно сверяйте фактическое состояние: сообщение об ошибке само по себе не доказывает, что ни одна правка не сохранилась.
Как заполнять JSON-поля
Каждый блок ниже вставляется целиком в своё поле. Не добавляйте внешние кавычки вокруг всего массива или объекта. Учебные ID и названия замените фактическими данными.
Рабочие интервалы JSON с start/end и часовым поясом
[
{
"start": "2026-10-15T09:00:00+03:00",
"end": "2026-10-15T12:00:00+03:00"
},
{
"start": "2026-10-15T13:00:00+03:00",
"end": "2026-10-15T18:00:00+03:00"
}
]
Наружный уровень: массив рабочих интервалов. Каждый объект содержит обязательные строковые start и end: начало и конец с часовым поясом. Пример исключает обед 12:00–13:00. Порядок допустим любой, но интервалы не должны пересекаться, повторяться или иметь нулевую длину. До 1000 интервалов в пределах 366 суток. Пустой [] допустим как пустой график; {} не является календарём. Источник: согласованный график процесса либо результат предыдущего шага, который собрал именно такие интервалы. Праздники заранее удалите из графика, автоматической загрузки календаря портала нет.