• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Broker/TypePreset.php
  • Класс: Bitrix\Crm\Service\Broker\TypePreset
  • Вызов: TypePreset::collectPresetsByEvent
public function collectPresetsByEvent(): array
{
	$presets = [];

	$event = new Event('crm', static::COLLECT_EVENT_NAME);
	EventManager::getInstance()->send($event);
	$results = $event->getResults();
	if (empty($results) || !is_array($results))
	{
		return $presets;
	}
	foreach ($results as $eventResult)
	{
		if ($eventResult->getType() !== EventResult::SUCCESS)
		{
			continue;
		}

		$eventPresets = $eventResult->getParameters()['presets'] ?? [];
		foreach ($eventPresets as $preset)
		{
			if (
				is_array($preset)
				&& isset($preset['fields'], $preset['data'])
				&& is_array($preset['fields'])
				&& is_array($preset['data'])
			)
			{
				$presets[] = new Service\TypePreset($preset['fields'], $preset['data']);
			}
		}
	}

	return $presets;
}