• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Multifield/Assembler.php
  • Класс: Bitrix\Crm\Multifield\Assembler
  • Вызов: Assembler::valueByArray
static function valueByArray(array $array): Value
{
	$value = new Value();

	if (isset($array['ID']) && is_numeric($array['ID']))
	{
		$value->setId((int)$array['ID']);
	}

	if (!empty($array['TYPE']))
	{
		$value->setTypeId((string)$array['TYPE']);
	}

	if (!empty($array['VALUE_TYPE']))
	{
		$value->setValueType((string)$array['VALUE_TYPE']);
	}

	if (!empty($array['VALUE']))
	{
		$value->setValue((string)$array['VALUE']);
	}

	$countryCode = null;
	if (isset($array['VALUE_EXTRA']['VALUE_COUNTRY_CODE']) && !empty($array['VALUE_EXTRA']['VALUE_COUNTRY_CODE']))
	{
		$countryCode = (string)$array['VALUE_EXTRA']['VALUE_COUNTRY_CODE'];
	}
	elseif (isset($array['VALUE_COUNTRY_CODE']) && !empty($array['VALUE_COUNTRY_CODE']))
	{
		$countryCode = (string)$array['VALUE_COUNTRY_CODE'];
	}

	if (!empty($countryCode))
	{
		$value->setValueExtra(
			(new ValueExtra())
				->setCountryCode($countryCode)
		);
	}

	return $value;
}