• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/main/uiselector/crmleads.php
  • Класс: Bitrix\Crm\Integration\Main\UISelector\CrmLeads
  • Вызов: CrmLeads::prepareEntity
static function prepareEntity($data, $options = [])
{
	$prefix = static::getPrefix($options);
	$result = [
		'id' => $prefix . $data['ID'],
		'entityType' => 'leads',
		'entityId' => $data['ID'],
		'name' => htmlspecialcharsbx(Emoji::decode($data['TITLE'])),
		'desc' => htmlspecialcharsbx(
			CCrmLead::prepareFormattedName(
				[
					'HONORIFIC' => $data['HONORIFIC'] ?? '',
					'NAME' => $data['NAME'] ?? '',
					'SECOND_NAME' => $data['SECOND_NAME'] ?? '',
					'LAST_NAME' => $data['LAST_NAME'] ?? ''
				]
			)
		)
	];

	if (array_key_exists('DATE_CREATE', $data))
	{
		$result['date'] = MakeTimeStamp($data['DATE_CREATE']);
	}

	if (
		!empty($data['HAS_EMAIL'])
		&& $data['HAS_EMAIL'] == 'Y'
	)
	{
		$multiEmailsList = [];
		$found = false;

		$res = CCrmFieldMulti::getList(
			['ID' => 'asc'],
			[
				'ENTITY_ID' => static::getOwnerTypeName(),
				'TYPE_ID' => CCrmFieldMulti::EMAIL,
				'ELEMENT_ID' => $data['ID'],
			]
		);
		while ($multiFields = $res->Fetch())
		{
			if (!empty($multiFields['VALUE']))
			{
				$multiEmailsList[] = htmlspecialcharsbx($multiFields['VALUE']);
				if (!$found)
				{
					$result['email'] = htmlspecialcharsbx($multiFields['VALUE']);
					if (
						isset($options['onlyWithEmail'])
						&& $options['onlyWithEmail'] == 'Y'
					)
					{
						$result['desc'] = $result['email'];
					}
					$found = true;
				}
			}
		}
		$result['multiEmailsList'] = $multiEmailsList;
	}

	if (
		isset($options['returnItemUrl'])
		&& $options['returnItemUrl'] == 'Y'
	)
	{
		$result['url'] = CCrmOwnerType::getEntityShowPath(static::getOwnerType(), $data['ID']);
		$result['urlUseSlider'] = (CCrmOwnerType::isSliderEnabled(static::getOwnerType()) ? 'Y' : 'N');
	}

	return $result;
}