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

Рассчитать график платежей с точным итогом

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

Настройки робота «Рассчитать график платежей с точным итогом» в Битрикс24

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

Для кого и какую задачу решает

Менеджеру договоров и администратору процесса, который рассчитывает аванс и последующие платежи с точным сохранением общей суммы.

При делении суммы на доли копейки могут потеряться. Робот распределяет минимальные денежные единицы по весам и явно разрешает равенство остатков по ID. График остаётся расчётом: счета и платёжные документы автоматически не создаются.

Параметры и подготовка

Поле Как заполнить
Единая валюта, код из трех латинских букв (CURRENCY) Обязательное поле
Число дробных знаков: 0–6 (SCALE) Обязательное поле
Политика распределения (ALLOCATION) Обязательное поле. Пропорционально весам, затем наибольшие остатки (largest_remainders)
Равные остатки (TIE_BREAK) Обязательное поле. По возрастанию ID как строки (id_asc)
Общая сумма (TOTAL) Обязательное поле
Платежи JSON с ID, датой, весом и валютой (PAYMENTS) Обязательное поле

Перед настройкой выберите, откуда процесс получит каждое значение: постоянная настройка, поле карточки или результат предыдущего шага. Подписи в таблице соответствуют полям робота. Коды в скобках помогают различать похожие параметры при передаче данных между шагами.

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

  1. Укажите TOTAL, общую валюту и SCALE от 0 до 6. Готовая сумма должна точно соответствовать выбранной точности.
  2. Передайте PAYMENTS с уникальными id, явными датами due, относительными весами weight и currency. Вес не обязан быть процентом, но должен быть неотрицательным.
  3. Выберите ALLOCATION=largest_remainders и TIE_BREAK=id_asc. При равных остатках меньший ID сравнивается как строка, а не как число.
  4. После выполнения проверьте точный итог, число платежей и amounts в paymentsJson. Передайте согласованный график следующему действию оформления документов.

Как заполнить JSON-поля

Платежи JSON с ID, датой, весом и валютой (PAYMENTS)

[
  {
    "id": "advance",
    "due": "2026-10-15",
    "weight": "30",
    "currency": "RUB"
  },
  {
    "id": "final",
    "due": "2026-11-15",
    "weight": "70",
    "currency": "RUB"
  }
]

До 1000 записей; id уникальны, due явно заданная дата или время с offset, weight неотрицательный, currency совпадает с CURRENCY. [] допустим только при нулевой общей сумме.

Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.

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

TOTAL=100.00, CURRENCY=RUB, SCALE=2. PAYMENTS=[{"id":"advance","due":"2026-10-15","weight":"30","currency":"RUB"},{"id":"final","due":"2026-11-15","weight":"70","currency":"RUB"}]. При выбранных правилах ожидаются 30.00 и 70.00, общий итог 100.00. Даты взяты для учебного графика и не рассчитываются от стадии сделки.

Пример показывает подготовленные учебные данные. Фактический результат зависит от переданных значений и доступных данных вашего процесса.

Что возвращает и как продолжить процесс

  • «График JSON с точными суммами» (paymentsJson).
  • «Точный итог» (total).
  • «Валюта» (currency).
  • «Дробных знаков» (scale).
  • «Платежей» (count).

Порядок вывода совпадает с входным списком. Суммы по конкретным ID не меняются при перестановке строк, потому что равные остатки разрешаются по ID. Итог возвращается отдельно для сверки с исходной суммой.

Выход «Статус выполнения» проверяйте перед передачей результата дальше. При отрицательном статусе прочитайте «Пояснение ошибки» и направьте процесс на исправление исходных данных. Успешный статус подтверждает выполнение действия; содержательные признаки результата проверяйте отдельно.

Ограничения и разбор ошибок

PAYMENTS: [{"id":"advance","due":"2026-10-15","weight":"30","currency":"RUB"}]. Вес относительный, не обязательно процент; веса от нуля. Правило largest_remainders и разрешение равенств id_asc задаются явно: сначала целые минимальные денежные единицы вниз, затем остатки по убыванию дробной доли, при равенстве: по возрастанию ID как Unicode-строки. Перестановка строк не меняет суммы по ID. Порядок вывода соответствует входу. Даты задаются явно: YYYY-MM-DD либо время с обязательным offset, которое возвращается в UTC. Нулевая сумма допускает пустой график/нулевые веса; положительная: нет. Возвращает расчёт, не создает счета и не загружает данные сделки. Денежные суммы неотрицательные, каждая меньше 10^24; до 36 значащих и 18 дробных цифр. Все строки обязаны содержать currency, совпадающую с выбранной. Код валюты проверяется по форме, не по внешнему справочнику. SCALE задается явно от 0 до 6; готовые денежные суммы должны точно соответствовать ему. До 1000 строк в каждом массиве; ID внутри массива: уникальная строка от 1 до 100 символов без крайних пробелов. Входные JSON и каждый строковый результат ограничены 1 МБ. Расчет не подтверждает бухгалтерскую достоверность.

Положительную сумму нельзя распределить по пустому графику или нулевым весам. Для нулевой суммы такие варианты допустимы. Робот не определяет даты договора, не проверяет банковские дни и не подтверждает поступление оплаты.