Заметки
datediff в роботах: почему вместо разницы дат получается 0
У datediff форматы %d и %a отвечают на разные вопросы. %d — дневная часть составного интервала, %a — общее число дней.
Для интервала с 1 января по 1 февраля дневная часть равна нулю: прошёл один месяц и ещё ноль дней. Поэтому выражения дают разные результаты:
=datediff("01.01.2026", "01.02.2026", "%d")
=datediff("01.01.2026", "01.02.2026", "%a") Первое вернёт 0, второе — 31. Выражение вставляют в редактор формулы робота или БП; оболочка поля зависит от этого редактора.
Для отрицательного результата при обратном порядке дат используйте %r%a. Если после смены формата число всё ещё неожиданное, проверьте реальные значения дат, их время и часовой пояс. %a считает дни интервала, а не рабочие дни по производственному календарю.
Документация: Формулы бизнес-процессов · PHP: dateinterval.format.php.