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

Видимая часть формы настройки в Битрикс24. Скриншот показывает поля действия; он не подтверждает выполнение учебного примера.
Кому и зачем нужен
Робот полезен руководителю продаж и администратору CRM при настройке отдельных маршрутов для определённых товаров. Например, позиции с большим количеством нужно передать закупщику, а строки с названием определённой серии вынести на согласование. Менеджеру не придётся вручную просматривать всю спецификацию.
Условия объединяются по правилу «все одновременно». Пустой список условий допускает все строки. Такой вариант подходит, если следующему шагу нужен набор позиций карточки, но нельзя путать лимит результата с общим числом найденных строк.
Настройки и формат условий
| Поле | Что указать |
|---|---|
Тип карточки (ENTITY_TYPE_ID) |
Поддерживаемый тип: лид, сделка, новый счёт или смарт-процесс |
ID карточки (ENTITY_ID) |
Положительный ID существующей карточки выбранного типа |
Условия JSON (FILTERS) |
Массив из не более чем 20 объектов с ключами field, op, value; без условий передайте [] |
Лимит результата (LIMIT) |
Целое число от 1 до 1000 |
Все поля обязательны. Поля для отбора: id, productId, measureCode, storeId, quantity, price, productName, taxIncluded. Для всех доступны eq (равно), ne (не равно), in (в списке). Для числовых полей доступны gt, gte, lt, lte; для текстовых полей доступен contains. Значение in принимает массив из 1–100 элементов. Регистр текста учитывается.
Как использовать
- Решите, какие позиции требуют отдельной обработки. Запишите условие обычными словами, например «количество не меньше десяти и название содержит Кабель».
- Установите робота и добавьте в нужную точку автоматизации. Укажите тип и ID карточки; не используйте ID сделки вместе с типом другого документа.
- Переведите условие в JSON. Для чисел с дробной частью используйте точные десятичные строки. Не добавляйте в объекты условий произвольные ключи.
- Задайте лимит, достаточный для следующего шага. Если нужны все совпадения, всё равно проверяйте признак ограничения результата.
- После выполнения сначала проверьте статус. Затем сравните «Всего совпадений» с «Возвращено строк» и проверьте «Результат ограничен лимитом».
- Передайте ID подходящих строк или их JSON следующему действию. Сам робот не меняет количество, цены и состав товаров.
Учебный пример
Для учебной карточки подготовлены три строки: «Кабель А» с количеством 12, «Кабель Б» с количеством 3 и «Разъём» с количеством 20. Укажите нужную карточку, лимит 50 и условия:
[
{"field":"quantity","op":"gte","value":"10"},
{"field":"productName","op":"contains","value":"Кабель"}
]
Ожидается только строка «Кабель А»: она выполняет оба условия. «Разъём» проходит по количеству, но не по названию. Число совпадений и возвращённых строк равны 1, признак ограничения выключен. Это пример подготовленных данных; реальные ID берутся из ответа вашей карточки.
Если вместо лимита 50 указать 1, а совпадений окажется три, робот вернёт одну строку, полное число совпадений 3 и включённый признак ограничения. Не воспринимайте первую возвращённую строку как единственную найденную.
Что возвращает
«ID подходящих строк» содержит список идентификаторов. «Подходящие строки в JSON» содержит фактические данные отобранных позиций. «Всего совпадений» учитывает все найденные строки до ограничения, а «Возвращено строк» отражает размер выданного набора. Общие статус и пояснение ошибки нужны для обработки сбоев отдельно от нулевого результата.
Ошибки и границы применения
Неизвестное поле, неподдерживаемый оператор, больше 20 условий, пустой список значений in или отсутствие нужного поля у строки приводят к ошибке. Дробные числа ответа с неподтверждённой точностью также отклоняются. Проверьте права доступа к карточке и точность исходных значений.
Чтение ограничено 1000 строками и 100 страницами. Робот не выполняет поиск по всем сделкам и не меняет товары: ему всегда нужна конкретная карточка. Для альтернативных условий «или» подготовьте отдельные ветки процесса или заранее сформированный набор данных.
Как заполнить JSON-поля
Условия JSON (FILTERS)
[
{
"field": "quantity",
"op": "gte",
"value": "10"
},
{
"field": "productName",
"op": "contains",
"value": "Кабель"
}
]
Каждое условие содержит ровно field, op, value. Все условия действуют одновременно. [] выбирает все строки. Для in значение должно быть непустым массивом, например [501,502]. ID берите из каталога, не из номера строки CRM.
Это массив: внешние квадратные скобки обязательны. Пустой массив [] отличается от объекта {}; возможность пустого списка определяется правилами этого поля, описанными ниже.