- Модуль: 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;
}