Документация для разработчиков
Темная тема

crm.item.productrow.list

Scope: crm Права на выполнение: для всех

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 - вариации. (Необходимо проверять в каждом конкретном случае).

Получить значение ownerType для смарт-процесса можно с помощью 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
	}
}


© «Битрикс», 2001-2024, «1С-Битрикс», 2024