• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/userfield/datamodifiers/element.php
  • Класс: Bitrix\Crm\UserField\DataModifiers\Element
  • Вызов: Element::setOrderElements
static function setOrderElements(array &$result, array $params, array $settings, array $selected): void
{
	if(
		$settings['ORDER'] === 'Y'
		&&
		!empty($selected['ORDER'])
	)
	{
		$ar = [];
		$orders = \Bitrix\Crm\Order\Order::getList([
			'filter' => ['=ID' => $selected['ORDER']],
			'select' => ['ID', 'ACCOUNT_NUMBER'],
			'order' => ['ID' => 'DESC']
		]);

		while($order = $orders->fetch())
		{
			$order['SID'] = ($result['PREFIX'] === 'Y' ? 'O_' . $order['ID'] : $order['ID']);

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

			$ar[] = [
				'title' => (str_replace([';', ','], ' ', $order['ACCOUNT_NUMBER'])),
				'desc' => $order['ACCOUNT_NUMBER'],
				'id' => $order['SID'],
				'url' => Service\Sale\EntityLinkBuilder\EntityLinkBuilder::getInstance()
					->getOrderDetailsLink($order['ID']),
				'type' => 'order',
				'selected' => $isSelected
			];
		}

		$result['ELEMENT'] = array_merge($ar, $result['ELEMENT']);
	}
}