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

Рассчитать срок по отдельному рабочему календарю

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

Настройки робота «Рассчитать срок по отдельному рабочему календарю» в Битрикс24

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

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

Для сервисного координатора и администратора сроков по рабочему графику. Считает срок с пропуском нерабочих разрывов, когда простой отсчёт календарных минут даёт неверное время сдачи.

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

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

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

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

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

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

  1. Подготовьте рабочие интервалы с ключами start и end; перерывы не включайте в них.
  2. Передайте начальный момент с часовым поясом.
  3. Укажите положительное число рабочих минут строкой с точкой при дробной части.
  4. Проверьте признак найденного срока до его использования.
  5. Передайте найденный срок в отдельную запись поля или задачи. При недостатке времени используйте остаток для расширения графика.

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

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