CIBlockPriceTools::GetItemPrices возвращает пустой массив
Bitrix 20.5.468
Когда функция ciblockpricetools::getitemprices возвращает пустой массив, то скорее всего это в неправильности вызова функции. Пример правильного рабочего вызова функции:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
\Bitrix\Main\Loader::includeModule('iblock'); $arIdProd = [66194, 75723]; $arParams["PRICE_CODE"] = array( 0 => "Клуб", 1 => "Учетная", 2 => "опт", 3 => "розн", 4 => "up_ka_opt", 5 => "opt_kor", ); $arParams["SHOW_PRICE_COUNT"] = '1'; $arResultPrices = \CIBlockPriceTools::GetCatalogPrices(IBLOCK_MAIN_ID, $arParams["PRICE_CODE"]); $arFilter = ['IBLOCK_ID' => IBLOCK_MAIN_ID, 'ID' => $arIdProd]; foreach($arResultPrices as &$value) { if (!$value['CAN_VIEW'] && !$value['CAN_BUY']) continue; $arSelect[] = $value["SELECT"]; $arFilter["CATALOG_SHOP_QUANTITY_".$value["ID"]] = $arParams["SHOW_PRICE_COUNT"]; } $db_res = \CIBlockElement::GetList( [], $arFilter, false, false, ['*'] ); $arItems = []; while($ar_res = $db_res->GetNext()) { $arItems[] = $ar_res; } //print_r($arItems); foreach ($arItems as &$tmpItem) { $tmpItem['PRICES'] = \CIBlockPriceTools::GetItemPrices( $arParams['IBLOCK_ID'], $arResultPrices, $tmpItem ); } print_r($arItems); |