На сайте есть как товары, так и ТП.
Пытаюсь отобрать элементы по конкретному складу:
$arSelect = array('ID', 'NAME', 'IBLOCK_ID');
$arFilter = array(
'IBLOCK_ID' => array(2, 3),
'SECTION_ID' => $arCurSection['ID'],
'INCLUDE_SUBSECTIONS' => 'Y',
'ACTIVE' => 'Y',
'AVAILABLE' => 'Y',
'>STORE_AMOUNT_' . $selectedWarehouseId => 0,
'>PRICE_1' => 0
);
$rsElements = CIBlockElement::GetList(array(), $arFilter, false, false, $arSelect);
$rsElements->SelectedRowsCount(); // возвращает 0
если убрать
'>STORE_AMOUNT_' . $selectedWarehouseId => 0,
то все ок.
В переменной $selectedWarehouseId всегда 1 или 2. Склады с указанными ID есть, товары в наличии на них тоже есть.
Пробовал код с форума битрикса для arSelect
$arFilter['IBLOCK_ID'] = [2, 3];
$arFilter['SECTION_ID'] = $arCurSection['ID'];
$arFilter['INCLUDE_SUBSECTIONS'] = 'Y';
$arFilter['ACTIVE'] = 'Y';
$arFilter['AVAILABLE'] = 'Y';
$arFilter['>PRICE_1'] = 0;
$arFilter[] = [
'LOGIC' => 'OR',
[
'=TYPE' => \Bitrix\Catalog\ProductTable::TYPE_PRODUCT,
'=STORE_NUMBER' => $selectedWarehouseId,
'>STORE_AMOUNT' => 0
],
[
'!=TYPE' => \Bitrix\Catalog\ProductTable::TYPE_PRODUCT,
'OFFERS' => [
'>STORE_AMOUNT' => 0,
'=STORE_NUMBER' => $selectedWarehouseId
]
]
];
но безрезультатно.