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

Посчитать количество и сумму конкретных товаров в карточке

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

Настройки робота «Посчитать количество и сумму конкретных товаров в карточке» в Битрикс24

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

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

Менеджеру продаж и администратору CRM, который считает объём и сумму выбранной группы товаров внутри конкретной карточки.

Один товар может встречаться в нескольких строках, а одинаковые числа в штуках и килограммах нельзя складывать в общий объём. Робот находит строки точных ID и считает итоги с выбранным правилом единиц и округления суммы.

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

Поле Как заполнить
Тип карточки (ENTITY_TYPE_ID) Обязательное поле
ID карточки (ENTITY_ID) Обязательное поле
ID товаров/вариаций (JSON-массив) (PRODUCT_IDS) Обязательное поле
Поле цены (PRICE_FIELD) Обязательное поле. Цена price (price); Цена priceExclusive (priceExclusive); Цена priceNetto (priceNetto); Цена priceBrutto (priceBrutto)
Единицы измерения (UNIT_POLICY) Обязательное поле. Только одна единица (require_same); Отдельно по каждой единице (group_by_measure)
Единая валюта, код из трех латинских букв (CURRENCY) Обязательное поле
Число дробных знаков: 0–6 (SCALE) Обязательное поле
Округление суммы группы (ROUNDING) Обязательное поле. Только точная сумма (exact); Ближайшее, половина вверх (half_up); Вниз (down); Вверх (up)

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

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

  1. Укажите тип и ID карточки, затем JSON-массив точных ID товаров или вариаций. ID родителя не включает его вариации автоматически.
  2. Выберите поле цены: price, priceExclusive, priceNetto или priceBrutto. Используйте то значение, смысл которого принят в вашем процессе.
  3. Укажите валюту карточки, число дробных знаков от 0 до 6 и правило округления. Для запрета потери точности выберите exact.
  4. Выберите require_same для единой единицы либо group_by_measure для отдельных итогов. После выполнения проверьте compatible и читайте группы, если единиц несколько.

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

ID товаров/вариаций (JSON-массив) (PRODUCT_IDS)

[
  501,
  502
]

От 1 до 100 уникальных положительных ID товаров/вариаций. Их берут из товарных строк либо каталога. [] запрещён; вариации родителя сами не включаются.

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

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

В учебной карточке есть две строки товара 501 в одной единице: количество 2 по цене 10 и количество 3 по цене 12. Передайте PRODUCT_IDS=[501], PRICE_FIELD=price, UNIT_POLICY=require_same, CURRENCY=RUB, SCALE=2, ROUNDING=exact. Ожидается количество 5, сумма 56.00, две найденные строки. При разных единицах require_same вернёт отрицательную совместимость без общего итога.

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

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

  • «Количество при единой единице» (quantity).
  • «Сумма при единой единице» (amount).
  • «Найдено строк указанных товаров» (matchedCount).
  • «Правило единиц выполнено» (compatible).
  • «Использованные единицы» (measureCodes), список значений.
  • «Итоги по единицам в JSON» (groups).
  • «Валюта» (currency).
  • «Дробных знаков суммы» (scale).

Массив groups содержит количество и округлённую сумму по каждой единице. Общие quantity и amount заполнены для одной группы; пустая выборка даёт точный ноль. При нескольких группах используйте отдельные итоги, не склеивая разные единицы в одно число.

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

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

Принимает тип и ID карточки, 1–100 точных ID товаров/вариаций, выбранное поле цены, валюту карточки, SCALE, округление и правило единиц require_same/group_by_measure. Не включает вариации родителя автоматически. Для каждой единицы считает Σquantity и Σquantity×выбранная цена, затем один раз округляет сумму группы. Налоги и скидки заново не вычисляет. require_same при разных единицах возвращает compatible=N, не объединяя итоги. group_by_measure возвращает отдельные группы; общие quantity/amount заполнены только для одной группы. Пустая выборка даёт точный ноль. Строки или целые числа читаются точно; дробные числа ответа с неподтверждённой точностью, неизвестные единицы или валюта являются ошибкой. До 1000 строк / 100 страниц, без изменений CRM.

Сумма вычисляется как количество, умноженное на выбранную цену, с одним округлением итога группы. Налоги и скидки заново не рассчитываются. Валюта должна совпасть с карточкой; обмен валют и запись новых сумм не выполняются.