• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_usertype.php
  • Класс: \CCrmUserType
  • Вызов: CCrmUserType::TryResolveEnumerationID
static function TryResolveEnumerationID($value, &$enums, &$ID, $fieldName = 'VALUE')
{
	$fieldName = strval($fieldName);
	if($fieldName === '')
	{
		$fieldName = 'VALUE';
	}

	// 1. Try to interpret value as enum ID
	if(isset($enums[$value]))
	{
		$ID = $value;
		return true;
	}

	// 2. Try to interpret value as enum VALUE or XML_ID
	$uv = mb_strtoupper(trim($value));

	$success = false;
	foreach($enums as $enumID => &$enum)
	{
		if(mb_strtoupper($enum[$fieldName]) === $uv || (isset($enum['XML_ID']) && $enum['XML_ID'] === $value))
		{
			$ID = $enumID;
			$success = true;
			break;
		}
	}
	unset($enum);
	return $success;
}