• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/UI/PropertyProduct.php
  • Класс: BitrixCatalogUIPropertyProduct
  • Вызов: PropertyProduct::getSkuProperties
static function getSkuProperties(int $iblockId, int $skuId, array $filter = []): array
{
	$properties = self::getIblockProperties($iblockId, $skuId, $filter);
	$product = CatalogProductTable::getRow([
		'select' => [
			'SKU_NAME' => 'IBLOCK_ELEMENT.NAME',
			'SKU_DESCRIPTION' => 'IBLOCK_ELEMENT.DETAIL_TEXT',
			'PURCHASING_PRICE',
			'PURCHASING_CURRENCY',
			'LENGTH',
			'WIDTH',
			'HEIGHT',
			'WEIGHT',
		],
		'filter' => ['=ID' => $skuId],
	]);

	$properties['SKU_ID'] = $skuId;

	if ($product !== null)
	{
		$properties['PURCHASING_PRICE'] = round((float)$product['PURCHASING_PRICE'], self::PRICE_PRECISION);
		if (Loader::includeModule('crm'))
		{
			$properties['PURCHASING_PRICE_FORMATTED'] = CCrmCurrency::MoneyToString(
				$product['PURCHASING_PRICE'],
				$product['PURCHASING_CURRENCY']
			);
		}
		elseif (Loader::includeModule('currency'))
		{
			$properties['PURCHASING_PRICE_FORMATTED'] = CCurrencyLang::CurrencyFormat(
				$product['PURCHASING_PRICE'],
				$product['PURCHASING_CURRENCY']
			);
		}
		else
		{
			$properties['PURCHASING_PRICE_FORMATTED'] = htmlspecialcharsbx(
				$product['PURCHASING_PRICE'] . ' ' . $product['PURCHASING_CURRENCY']
			);
		}
		$properties['LENGTH'] = $product['LENGTH'];
		$properties['WEIGHT'] = $product['WEIGHT'];
		$properties['WIDTH'] = $product['WIDTH'];
		$properties['HEIGHT'] = $product['HEIGHT'];
		$properties['SKU_NAME'] = htmlspecialcharsbx($product['SKU_NAME']);
		$properties['SKU_DESCRIPTION'] = (new CBXSanitizer())->SanitizeHtml($product['SKU_DESCRIPTION']);
	}
	else
	{
		$properties['PURCHASING_PRICE'] = 0;
		$properties['PURCHASING_PRICE_FORMATTED'] = '';
		$properties['LENGTH'] = null;
		$properties['WEIGHT'] = null;
		$properties['WIDTH'] = null;
		$properties['HEIGHT'] = null;
		$properties['SKU_NAME'] = '';
		$properties['SKU_DESCRIPTION'] = '';
	}

	return $properties;
}