Штатные роботы Битрикс24 прибавляют к дате календарные дни и ничего не знают о праздниках: дедлайн «три дня на оплату счёта», выданный перед длинными выходными, превращается в просрочку ещё до того, как клиент увидел счёт. Роботы Роботеки считают сроки по производственному календарю РФ: прибавляют рабочие дни с учётом праздников и переносов, проверяют, рабочий ли день, находят ближайшую нужную дату и определяют день недели.
Почему «дата + 3 дня» ломает сроки?
Интервалы в дизайнере бизнес-процессов — календарные: «+3 дня» от пятницы — это понедельник, а если он праздничный, срок выпадает на нерабочий день, и менеджер получает задачу с дедлайном 1 января. Производственный календарь РФ — это не только субботы и воскресенья: праздники, переносы выходных, рабочие субботы, и список меняется каждый год постановлением Правительства. Зашить его в шаблон процесса штатными средствами не получится — пришлось бы вручную вести список дат и править схему ежегодно. Поэтому расчёт сроков выносят в робота, который сверяется с актуальным производственным календарём сам: схема процесса остаётся простой, а праздники перестают быть её заботой.
Как прибавить N рабочих дней к дате?
«Дата + N рабочих дней (РФ)». Вход: исходная дата и количество рабочих дней; отрицательное число отсчитывает назад — например, напоминание за два рабочих дня до события. Робот идёт по производственному календарю РФ и пропускает выходные и праздники; перенесённые рабочие субботы и сокращённые предпраздничные дни считаются рабочими. На вход дата принимается в привычных видах: ГГГГ-ММ-ДД, ДД.ММ.ГГГГ или значение поля «дата» из карточки. Выхода два: дата в формате ГГГГ-ММ-ДД — для записи в поле типа «дата», и она же в формате ДД.ММ.ГГГГ — для текста уведомления. Пример: счёт выставлен — срок оплаты через пять рабочих дней записывается в поле сделки, по нему ставится задача и строится маршрут согласования счёта.
Как проверить, что дата — рабочий день?
«Проверка: дата — рабочий день?» принимает одну дату и возвращает признак Y/N; сокращённый предпраздничный день считается рабочим. Дальше — штатное «Условие»: если N, перенести отправку или сдвинуть срок. Типовые случаи: не отправлять клиентам письма и SMS в праздники; не назначать звонки на выходной; перед постановкой задачи убедиться, что планируемая дата вообще рабочая. Если дата оказалась нерабочей, следующим действием прибавьте к ней один рабочий день роботом из предыдущего раздела — получится ближайший рабочий день без ручных таблиц переносов. Связка «проверка → условие → сдвиг» занимает три действия и одинаково работает и для сделок, и для лидов, и для задач.
Как найти ближайший понедельник или конец месяца?
«Ближайшая дата по условию» ищет от исходной даты ближайшую подходящую. Условия: monday…sunday — день недели, first-day — 1-е число следующего месяца, last-day — последний день текущего, next-weekday — ближайший будний день. Отдельный признак «включать саму дату» (по умолчанию N) управляет случаем, когда исходная дата уже подходит. Выхода три: найденная дата в форматах ГГГГ-ММ-ДД и ДД.ММ.ГГГГ и число дней до неё — его удобно использовать для паузы процесса до нужного момента. Примеры: еженедельный отчёт по понедельникам, акты последним днём месяца, перенос оплаты на 1-е число. Найденная дата записывается в поле или переменную и дальше работает как обычный срок.
Как узнать день недели по дате?
«День недели по дате» возвращает номер дня (1 — понедельник … 7 — воскресенье), название по-русски и по-английски и признак «выходной» Y/N. Важно: признак учитывает только субботу и воскресенье — про праздники он не знает, для них есть проверка рабочего дня по производственному календарю из раздела выше. Применение: разная логика процесса по дням недели — заявки, созданные в пятницу после обеда, назначать на понедельник; русское название дня удобно подставлять в текст уведомления клиенту без ручного справочника соответствий между номером и названием дня.
Чек-лист
Срок по календарю РФ — «Дата + N рабочих дней»; проверка перед отправкой — «Проверка: дата — рабочий день?»; регулярные события — «Ближайшая дата по условию»; ветвление по дням — «День недели по дате». Эти роботы находятся в категории общие. Если нужного робота нет — опишите задачу, мы сделаем его бесплатно и добавим в каталог.