• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/userfield/datamodifiers/element.php
  • Класс: Bitrix\Crm\UserField\DataModifiers\Element
  • Вызов: Element::setQuoteElements
static function setQuoteElements(array &$result, array $params, array $settings, array $selected): void
{
	if(
		$settings['QUOTE'] === 'Y'
		&&
		!empty($selected['QUOTE'])
	)
	{
		$selectFields = array('ID', 'TITLE', 'STAGE_ID', 'COMPANY_TITLE', 'CONTACT_FULL_NAME');
		$ar = [];
		$quotes = CCrmQuote::GetList(
			['ID' => 'DESC'],
			['ID' => $selected['QUOTE']],
			false,
			false,
			$selectFields
		);

		while($quote = $quotes->Fetch())
		{
			$quote['SID'] = ($result['PREFIX'] === 'Y' ? 'Q_' . $quote['ID'] : $quote['ID']);

			$isSelected = self::getIsSelectedValue($result, $params, $quote);
			self::removeItemFromResultList($result, $params, $quote);

			$clientTitle = (!empty($quote['COMPANY_TITLE']) ? $quote['COMPANY_TITLE'] : '');
			$isClientTitle = ($clientTitle !== '' && !empty($quote['CONTACT_FULL_NAME']));
			$clientTitle .= ($isClientTitle ? ', ' : '') . $quote['CONTACT_FULL_NAME'];

			$ar[] = [
				'title' => (str_replace([';', ','], ' ', $quote['TITLE'])),
				'desc' => $clientTitle,
				'id' => $quote['SID'],
				'url' => CComponentEngine::MakePathFromTemplate(
					COption::GetOptionString('crm', 'path_to_quote_show'),
					['quote_id' => $quote['ID']]
				),
				'type' => 'quote',
				'selected' => $isSelected
			];
		}
		$result['ELEMENT'] = array_merge($ar, $result['ELEMENT']);
	}
}