- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/userfield/datamodifiers/element.php
- Класс: Bitrix\Crm\UserField\DataModifiers\Element
- Вызов: Element::setDealElements
static function setDealElements(array &$result, array $params, array $settings, array $selected): void
{
if(
$settings['DEAL'] === 'Y'
&&
!empty($selected['DEAL'])
)
{
$selectFields = ['ID', 'TITLE', 'STAGE_ID', 'COMPANY_TITLE', 'CONTACT_FULL_NAME'];
$ar = [];
$deals = CCrmDeal::GetList(
['ID' => 'DESC'],
['ID' => $selected['DEAL']],
$selectFields
);
while($deal = $deals->Fetch())
{
$deal['SID'] = ($result['PREFIX'] === 'Y' ? 'D_' . $deal['ID'] : $deal['ID']);
$isSelected = self::getIsSelectedValue($result, $params, $deal);
self::removeItemFromResultList($result, $params, $deal);
$clientTitle = (!empty($deal['COMPANY_TITLE']) ? $deal['COMPANY_TITLE'] : '');
$isClientTitle = ($clientTitle !== '' && !empty($deal['CONTACT_FULL_NAME']));
$clientTitle .= ($isClientTitle ? ', ' : '') . $deal['CONTACT_FULL_NAME'];
$ar[] = [
'title' => (str_replace([';', ','], ' ', $deal['TITLE'])),
'desc' => $clientTitle,
'id' => $deal['SID'],
'url' => CComponentEngine::MakePathFromTemplate(
COption::GetOptionString('crm', 'path_to_deal_show'),
['deal_id' => $deal['ID']]
),
'type' => 'deal',
'selected' => $isSelected
];
}
$result['ELEMENT'] = array_merge($ar, $result['ELEMENT']);
}
}