Часто для оптовых покупателей надо скрыть розничные цены товаров. К сожалению, в Битриксе нет возможности сделать это через стандартные настройки, поэтому приходится дорабатывать код. В каталоге товаров это сделать просто — достаточно перед вызовом комплексного компонента каталога товаров определить, имеет ли право текущий пользователь покупать товары по оптовым ценам, а затем указать в переменной $PRICE_CODE, какой тип цен показывать:
$dbPrice = CCatalogGroup::GetList([], ['NAME' => 'OPT'], false, ['nTopCount' => 1], ['CAN_BUY']); if ($arPrice = $dbPrice->Fetch()) { if ($arPrice['CAN_BUY'] == 'Y') $PRICE_CODE = ['OPT']; // оптовая цена else $PRICE_CODE = ['BASE']; // розничная цена }
Ниже, в настройках компонента bitrix:catalog, параметру "PRICE_CODE" (тип цены) присвоить переменную $PRICE_CODE:
$APPLICATION->IncludeComponent( "bitrix:catalog", "", Array( ... "PRICE_CODE" => $PRICE_CODE, ... ) );
Естественно, всё это надо делать после того, как на сайте созданы группы оптовых покупателей, оптовые цены и выставлены права на них.