• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/businessvalue.php
  • Класс: BitrixSaleBusinessValue
  • Вызов: BusinessValue::get
static function get($codeKey, $consumerKey = null, $personTypeId = null, $providerInstance = null)
{
	$value = null;

	if ($personTypeId instanceof IBusinessValueProvider)
	{
		$provider = $personTypeId;
		$personTypeId = $provider->getPersonTypeId();
		$mapping = self::getMapping(
			$codeKey,
			$consumerKey,
			$personTypeId,
			[
				'GET_VALUE' => [
					'PROPERTY' => 'BY_ID',
					'PROVIDER' => $provider,
				],
			]
		);

		$providerInstance = $provider->getBusinessValueProviderInstance($mapping);
	}
	else
	{
		if ($personTypeId <= 0)
		{
			$personTypeId = null;
		}
		$mapping = self::getMapping(
			$codeKey,
			$consumerKey,
			$personTypeId,
			[
				'GET_VALUE' => [
					'PROPERTY' => 'BY_ID',
				],
			]
		);
	}

	if (
		isset($mapping['PROVIDER_VALUE'])
		&& isset($mapping['PROVIDER_KEY'])
		&& isset(self::$redefinedFields[$mapping['PROVIDER_KEY']][$mapping['PROVIDER_VALUE']]))
	{
		return self::$redefinedFields[$mapping['PROVIDER_KEY']][$mapping['PROVIDER_VALUE']];
	}

	if (
		isset($mapping['PROVIDER_KEY'])
		&& $mapping['PROVIDER_KEY']
		&& isset($mapping['PROVIDER_VALUE'])
		&& $mapping['PROVIDER_VALUE']
	)
	{
		$value = self::getValueFromMapping($mapping, $providerInstance, $personTypeId);
	}

	return $value;
}