Выбираем записи из highloadblock Битрикс на примере функции

Выбираем записи из highloadblock Битрикс на примере выборки индивидуальных скидок для клиента. Функцию можно разместить в init.php, или добавить в свой класс.
logo
logo
PHP
<?
use Bitrix\Main\Loader;
use Bitrix\Highloadblock as HL;
use Bitrix\Main\Entity;

Loader::includeModule('highloadblock');

function getPrivateDiscount($client_id, $product_id)
{
    $discount = 0;
  
    $hlblock = HL\HighloadBlockTable::getById(PRIVATE_DISCOUNTS_HBLOCK_ID)->fetch();
    $entity = HL\HighloadBlockTable::compileEntity($hlblock);
    $entity_data_class = $entity->getDataClass();
    $rsData = $entity_data_class::getList(array(
        "select" => array("*"),
        "order" => array("ID" => "ASC"),
        "filter" => array("UF_CLIENT_ID" => $client_id, "UF_PRODUCT_ID" => $product_id)
    ));

    while($arData = $rsData->Fetch())
    {
        $discount =  $arData["UF_DISCOUNT"];
    }

    return $discount;
}

Спасибо! Заявка успешно отправлена, мы с Вами свяжемся в ближайшее время!