• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/product.php
  • Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Product
  • Вызов: Product::loadMeasureInfo
protected function loadMeasureInfo()
{
	$languageId = DataProviderManager::getInstance()->getContext()->getRegionLanguageId();
	if(!$languageId)
	{
		return false;
	}
	if(!isset(static::$measureInfo[$languageId]))
	{
		static::$measureInfo[$languageId] = [];
	}
	$code = $this->data['MEASURE_CODE'];
	if(!$code)
	{
		return false;
	}
	if(!isset(static::$measureInfo[$languageId][$code]))
	{
		if(Loader::includeModule('catalog'))
		{
			$originalLanguageId = Loc::getCurrentLang();
			Loc::setCurrentLang($languageId);
			static::$measureInfo[$languageId][$code] = \CCatalogMeasureClassifier::getMeasureInfoByCode($code);
			Loc::setCurrentLang($originalLanguageId);

			$tableData = MeasureTable::getList([
				'select' => [
					'SYMBOL_INTL',
					'SYMBOL_LETTER_INTL',
					'MEASURE_TITLE',
					'SYMBOL',
				],
				'filter' => [
					'=CODE' => $code,
				],
			])->fetch();
			if($tableData)
			{
				if(!empty($tableData['SYMBOL_INTL']))
				{
					static::$measureInfo[$languageId][$code]['SYMBOL_INTL'] = $tableData['SYMBOL_INTL'];
				}
				if(!empty($tableData['SYMBOL_LETTER_INTL']))
				{
					static::$measureInfo[$languageId][$code]['SYMBOL_LETTER_INTL'] = $tableData['SYMBOL_LETTER_INTL'];
				}
				if(!empty($tableData['MEASURE_TITLE']))
				{
					static::$measureInfo[$languageId][$code]['MEASURE_TITLE'] = $tableData['MEASURE_TITLE'];
				}
				if(!empty($tableData['SYMBOL']))
				{
					static::$measureInfo[$languageId][$code]['SYMBOL'] = $tableData['SYMBOL'];
				}
			}
		}
	}

	return static::$measureInfo[$languageId][$code];
}