• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/EditorAdapter.php
  • Класс: Bitrix\Crm\Service\EditorAdapter
  • Вызов: EditorAdapter::formProductRowData
static function formProductRowData(\Bitrix\Crm\ProductRow $product, string $currencyId, bool $checkTaxes = false): array
{
	$url = '';
	if ($product->getProductId() > 0)
	{
		$url = Container::getInstance()->getRouter()->getProductDetailUrl($product->getProductId());
	}

	$sum = 0;
	if ($checkTaxes && $product->getField('TAX_INCLUDED') !== 'Y')
	{
		$sum = round($product->getField('PRICE_EXCLUSIVE') * $product->getField('QUANTITY'), 2) * (1 + $product->getField('TAX_RATE') / 100);
	}
	else
	{
		$sum = $product->getPrice() * $product->getQuantity();
	}

	$productRowData = [
		'PRODUCT_NAME' => $product->getProductName(),
		'SUM' => Money::format($sum, $currencyId),
		'URL' => $url,
	];

	if (Loader::includeModule('catalog'))
	{
		$productData = $product->toArray();
		$sku =
			\Bitrix\Catalog\v2\IoC\ServiceContainer::getRepositoryFacade()
				->loadVariation($productData['PRODUCT_ID'])
		;

		if ($sku)
		{
			$image = $sku->getFrontImageCollection()->getFrontImage();
			$productRowData['PHOTO_URL'] = $image ? $image->getSource() : null;
			$productRowData['VARIATION_INFO'] =
				\Bitrix\Catalog\v2\Helpers\PropertyValue::getSkuPropertyDisplayValues($sku)
			;
		}
	}

	return $productRowData;
}