Рассчитать стоимость записанного времени одной задачи
Робот «Рассчитать стоимость записанного времени одной задачи» берёт записи трудозатрат за выбранный период и применяет переданные часовые ставки сотрудников. Он помогает оценить стоимость конкретной работы, когда время уже учтено в задаче. Ставки задаются явно: робот не получает их из зарплатных документов.

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Для кого и какую проблему решает
Руководителям сервисных проектов и ответственным за бюджет нужен расчёт по фактически записанным секундам, а не приблизительная оценка по сроку задачи. Действие собирает время по сотрудникам и показывает, где не хватает ставки. Это помогает не принять неполную сумму за окончательную стоимость.
Что подготовить
Нужны ID одной задачи, доступ к её записям времени, период с часовым поясом и согласованный набор ставок. Подзадачи в расчёт не включаются. Период относится к учётной дате создания записи трудозатрат: всё число секунд записи попадает в эту дату, а интервалы фактической работы на границе периода не разрезаются.
Параметры расчёта
| Поле | Тип и правила |
|---|---|
| ID одной задачи | Обязательное положительное целое число. |
| Начало периода с часовым поясом | Обязательная строка даты и времени, например 2026-10-01T00:00:00+03:00. Граница включается. |
| Конец периода с часовым поясом | Обязательная строка; граница не включается. Период: не больше 366 дней. |
| Часовые ставки сотрудников JSON | Обязательный массив до 500 строк вида {"userId":21,"hourlyRate":"1200.00","currency":"RUB"}. |
| Общая валюта расчёта | Обязательный код валюты, совпадающий во всех ставках. |
| Число знаков 0–6 | Обязательное целое число, например 2 для копеек. |
| Округление на сотрудника | Обязательный выбор: «Без потери точности», «Ближайшее, половина вверх», «Вниз» или «Вверх». |
Один сотрудник должен встречаться в ставках один раз. Нулевая ставка допустима только при явном значении 0. Отсутствующая ставка не считается нулевой. При режиме без потери точности результат, который нельзя выразить выбранным числом знаков, приводит к ошибке.
Как настроить и использовать
- Добавьте робота после того, как сотрудники записали трудозатраты. Подставьте ID требуемой задачи.
- Задайте начало и конец периода в одном понятном часовом поясе. Для октября используйте начало 1 октября и конец 1 ноября.
- Подготовьте массив ставок с точными ключами
userId,hourlyRate,currency. Сумму ставки удобно передавать строкой с точкой как десятичным разделителем. - Укажите валюту и число знаков. Выберите правило округления, согласованное с вашим управленческим расчётом.
- В следующем шаге сначала проверьте «Все ставки известны». Если ответ положительный, используйте «Итог». Если отрицательный, отправьте список «Сотрудники без ставки» на уточнение.
- При необходимости передайте «Время и стоимость по сотрудникам JSON» в отчёт. «Сумма только по известным ставкам»: промежуточная величина, её нельзя выдавать за полный итог при пропущенных ставках.
Учебный пример
В задаче 410 за период записано 5400 секунд сотрудника 21. Передайте ставку [{"userId":21,"hourlyRate":"1200.00","currency":"RUB"}], валюту RUB, два знака и округление до ближайшего. Ожидаемый итог при этих исходных данных: 1800.00, 5400 секунд и положительный признак полноты ставок. Если ещё 900 секунд записал сотрудник 22 без ставки, итог будет пустым, а известная сумма останется 1800.00. Это учебный расчёт, а не пример проверенного запуска на портале.
Ошибки и ограничения
Робот читает до 1000 записей; для большего объёма сузьте период. Неоднозначное или неполное чтение останавливает расчёт. Проверьте совпадение валют, часовой пояс, уникальность ставок и положительный ID задачи. Результат не является расчётом зарплаты, налогов или бухгалтерской себестоимости и ничего не записывает в задачу.
Как заполнять JSON-поля
Каждый блок ниже вставляется целиком в своё поле. Не добавляйте внешние кавычки вокруг всего массива или объекта. Учебные ID и названия замените фактическими данными.
Часовые ставки сотрудников JSON
[
{
"userId": 21,
"hourlyRate": "1200.00",
"currency": "RUB"
},
{
"userId": 22,
"hourlyRate": "900.00",
"currency": "RUB"
}
]
Массив до 500 ставок. Каждый объект содержит ровно три ключа: userId с положительным ID сотрудника, hourlyRate с неотрицательной часовой ставкой и currency с кодом общей валюты. Ставку передавайте десятичной строкой с точкой. ID берите из учтённых трудозатрат или поиска сотрудников, ставки из согласованного реестра. Повтор одного сотрудника запрещён; валюта должна совпадать с отдельным полем расчёта. [] допустим как отсутствие известных ставок, но при наличии трудозатрат итог останется неполным. {} вместо массива неверен.