В детальном описании пишешь текст текст текст ... Вы можете купить этот товар по цене #PRICE_1# руб. .... текст текст текст
#PRICE_1# - это макрос, в котором 1 - это ID нужного типа цены (тут по желанию можно и символьный код цены)
Если на примере простых товаров, код выглядит примерно так
if($arResult['DETAIL_TEXT']) {
$arPrices = $aSearch = $aReplace = array();
preg_match_all('/#PRICE_\d#/', $arResult['DETAIL_TEXT'], $matches);
if($matches[0]) {
$iterator = \Bitrix\Catalog\PriceTable::getList([
'select' => ['CATALOG_GROUP_ID', 'PRICE', 'CURRENCY'],
'filter' => ['PRODUCT_ID' => $arResult['ID']]
]);
while($row = $iterator->fetch()) {
$arPrices[$row['CATALOG_GROUP_ID']] = CCurrencyLang::CurrencyFormat($row['PRICE'], $row['CURRENCY']);
}
$aSearch = $matches[0];
foreach($aSearch as $key => $str) {
$priceId = str_replace(['#', 'PRICE_'], '', $str);
$aReplace[$key] = $arPrices[$priceId];
}
$arResult['DETAIL_TEXT'] = str_replace($aSearch, $aReplace, $arResult['DETAIL_TEXT']);
}
}