Обновление записей в highloadblock Битрикс на примере функции

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

Loader::includeModule('highloadblock');

function updatePrivateDiscounts($list)
{
    $hlblock = HL\HighloadBlockTable::getById(PRIVATE_DISCOUNTS_HBLOCK_ID)->fetch();
    $entity = HL\HighloadBlockTable::compileEntity($hlblock);
    $entity_data_class = $entity->getDataClass();

    foreach($list as $item)
    {
        $data = array(
            "UF_CLIENT_ID"  => $item["client_id"],
            "UF_PRODUCT_ID" => $item["product_id"],
            "UF_DISCOUNT"   => $item["discount"]
        );
        $entity_data_class::update($item["id"], $data);
    }

}

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