//Формируем массив данных $products = array(); $StoreArray = array(); $arGroups = CUser::GetUserGroup($USER->GetID());//Группа покупателя $userID = $USER->GetID();//Айди клиента $rsUser = CUser::GetByID($userID);//Массив с данными клиента $arUser = $rsUser->Fetch(); // Выборка данных с массива о клиенте $arrayStoreUser = $arUser["UF_STORE"]; // Массив доп поля //Выобрка товаров $arSelect = Array("ID", "NAME", "DATE_ACTIVE_FROM", "SECTION_ID", 'IBLOCK_ID'); $arFilter = Array( "IBLOCK_ID"=>10, "SECTION_ID"=>array(305,329,350,351,363,378,410,417,437), /// Это массив для разделов "INCLUDE_SUBSECTIONS"=>"Y" // тут указали выбор подразделов ); $res = CIBlockElement::GetList(Array(), $arFilter, false, Array(), $arSelect); $var = 0; while($ob = $res->GetNextElement()) { $arFields = $ob->GetFields(); $rsStore = CCatalogStoreProduct::GetList(array(), array('PRODUCT_ID' => $arFields['ID'], 'STORE_ID' => $arrayStoreUser), false, false, array('AMOUNT')); //Количество товара по складу $rsStoreProduct = \Bitrix\Catalog\StoreProductTable::getList(array( 'filter' => array('=PRODUCT_ID'=>$arFields['ID'],'STORE_ID'=>$arrayStoreUser), 'select' => array('AMOUNT','STORE_TITLE' => 'STORE.TITLE','STORE_ID','PRODUCT_NAME' => 'PRODUCT.IBLOCK_ELEMENT.NAME') )); //Группа товара $groupProduct = CIBlockElement::GetByID($arFields['ID']); //Выборка цен для группы $db_res = CPrice::GetList( array(), array( "PRODUCT_ID" => $arFields['ID'], "CATALOG_GROUP_ID" => max($arGroups) ) ); if ($arStore = $rsStore->Fetch()) { $products[$arFields['ID']]["product_title"] = $arFields['NAME']; if ($ar_res = $db_res->Fetch()) { $products[$arFields['ID']]["PRICE"] = $ar_res['PRICE']; } else { $products[$arFields['ID']]["PRICE"] = "Цена не найдена!"; } //Выборка группы товара if($obRes = $groupProduct->GetNextElement()) { $array_Group = $obRes->GetGroups(); $nameGroup = $array_Group->Fetch(); $products[$arFields['ID']]['Group'] = $nameGroup['NAME']; } } while($arStoreProduct = $rsStoreProduct->fetch()) { // $products[$arFields['NAME']]['STORE_TITLE'. $var++] = $arStoreProduct['STORE_TITLE']; $products[$arFields['ID']]['AMOUNT' . $var++] = $arStoreProduct['AMOUNT']; $StoreArray[]= $arStoreProduct['STORE_TITLE']; } $resultArray = array_unique($StoreArray); };