crm.item.productrow.list
crm.item.productrow.list({order: ?{} = null, filter: {}, start: ?number = 0})
Метод вернет массив товарных позиций
{ "productRows": [] }
где каждый элемент массива — это структура, аналогичная результату метода crm.item.productrow.get.
В каждой строке результата есть поле type, которое означает следующее:
TYPE_PRODUCT = 1; // Простой товар TYPE_SET = 2; // Комплект TYPE_SKU = 3; // Товар с торговыми предложениями TYPE_OFFER = 4; // Торговое предложение TYPE_FREE_OFFER = 5; // Торговое предложение, у которого нет товара (не указан или удален) TYPE_EMPTY_SKU = 6; // Специфический тип, означает невалидный товар с торговыми предложениямиС товаром можно работать через crm.product.*. С вариациями - только через catalog.product.* (Можно и с товарами использовать.) При этом, catalog.product.get требует только id товара/вариации. (В выдаче отличаются по iblockId для товара и по наличию parentId для вариации.) А вот catalog.product.list уже требует указания в фильтре iblockId, который чаще всего в облаке 25 - товары, 27 - вариации. (Необходимо проверять в каждом конкретном случае).
Получить значение ownerTypeId
для смарт-процесса можно с помощью crm.enum.ownertype - значение SYMBOL_CODE_SHORT.
Параметры
Параметр | Описание | С версии |
---|---|---|
order | Список для сортировки, где ключ — поле, а значение - ASC или DESC. | |
filter | Список для фильтрации. Примеры фильтров ниже. Ключи =ownerType и =ownerId являются обязательными. | |
start | Сдвиг для постраничной навигации. |
Примеры
Найти все товарные позиции, привязанные к предложению с идентификатором 1
{ "filter": { "=ownerType": "Q", "=ownerId": 1 } }
Найти все товарные позиции, привязанные к смарт-процессу с entityTypeId = 128 и с идентификатором 9, у которых скидка больше 10% или цена ниже 1000
{ "filter": { "=ownerType": "T80", "=ownerId": 9, "0": { "logic": "OR", "0": { ">discountRate": 10 }, "1": { "<price": 1000 } } } }
Найти все товарные позиции, привязанные к предложению с идентификатором 2, которые привязаны к товарам из каталога
{ "filter": { "=ownerType": "Q", "=ownerId": 2, "!=productId": 0 } }
![]()
Анатолий Елизаренко
|
Чтобы в фильтре работал ownerType, нужно typeId преобразовывать:
T + HEX цифрового id Например: typeId = 128 нужно указывать как "T80". typeId = 139 нужно указывать как "T8B". |
© «Битрикс», 2001-2023, «1С-Битрикс», 2023
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.