CRM роботы 2.0 + AI (300+ роботов)

Посчитать рабочее время между датами

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

Настройки робота «Посчитать рабочее время между датами» в Битрикс24

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.

Для кого и какую проблему решает

Для руководителя сервиса, который считает рабочую длительность обработки обращения. Отделяет часы внутри заданного графика от ночи и перерывов без ручного вычитания.

Что подготовить

Установите действие в каталоге приложения «CRM роботы 2.0 + AI», затем добавьте его в нужную точку автоматизации. Для чтения или изменения объектов нужен соответствующий доступ пользователя подключения. Идентификаторы берите из полей карточки или результатов предыдущих шагов: название объекта не заменяет его числовой ID.

Параметры и значения

Поле в настройке Тип Обязательность и исходное значение
Рабочие интервалы JSON с start/end и часовым поясом Текст Обязательное; значение по умолчанию не задано
Начало периода ISO с часовым поясом Строка Обязательное; значение по умолчанию не задано
Конец периода ISO с часовым поясом Строка Обязательное; значение по умолчанию не задано

Поля, обозначенные JSON, заполняйте корректными массивами или объектами с двойными кавычками в строках. Подставляйте одно значение через штатный выбор данных редактора; не копируйте служебный идентификатор шага из другого шаблона.

Как использовать пошагово

  1. Передайте явный массив рабочих интервалов с start и end.
  2. Укажите начало и конец измеряемого периода с часовым поясом.
  3. Проверьте порядок границ: период не длиннее 366 суток; одинаковые начало и конец допустимы.
  4. Основным числовым результатом считайте точные секунды строкой. Минуты предназначены для удобного представления с шестью знаками.
  5. Используйте JSON учтённых интервалов, если нужно объяснить расчёт в отчёте.

Учебный пример и ожидаемый результат

Для графика 09:00–12:00 и 13:00–18:00 период 11:00–14:00 того же дня содержит два рабочих часа: ожидаются 7200 секунд и 120 минут. Промежуток 12:00–13:00 не учитывается. Все номера объектов в примере условные; замените их данными своего портала. Пример объясняет настройку, а не подтверждает выполненный запуск.

Какие результаты передать дальше

  • Точные рабочие секунды: строка.
  • Рабочие минуты, 6 знаков: строка.
  • Учтенные интервалы UTC JSON: текст.
  • Учтенных интервалов: целое число.

В следующем действии откройте выбор данных и выберите результат этого робота по названию. Сначала проверьте статус выполнения; при ошибке передайте её пояснение на разбор и не используйте пустые значения как подтверждённый результат. Успех шага и положительный ответ на бизнес-проверку: разные условия.

Ограничения и исправление ошибок

Рабочий график задаётся явно массивом до 1000 интервалов в пределах 366 суток. Каждый start/end содержит Z либо числовой пояс ±HH:MM. Пересечения, повторы и нулевые интервалы запрещены. Праздники, смены и переходы часовых поясов заранее учтите в массиве: календарь портала не загружается. Результаты времени возвращаются в UTC. Границы периода полуоткрытые: начало включено, конец исключён. Минуты округляются до 6 знаков по правилу половина вверх; точные секунды не теряют эту точность. Пустое пересечение возвращает 0 и пустой список интервалов.

Если доступ изменился, сначала проверьте объект под пользователем подключения и актуальность 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 суток. Пустой [] допустим как пустой график; {} не является календарём. Источник: согласованный график процесса либо результат предыдущего шага, который собрал именно такие интервалы. Праздники заранее удалите из графика, автоматической загрузки календаря портала нет.