• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Factory.php
  • Класс: Bitrix\Crm\Service\Factory
  • Вызов: Factory::getItems
public function getItems(array $parameters = []): array
{
	$fmIndex = array_search(Item::FIELD_NAME_FM, $parameters['select'] ?? [], true);
	if ($fmIndex !== false)
	{
		unset($parameters['select'][$fmIndex]);
	}

	$isFmInSelect = $fmIndex !== false || in_array('*', $parameters['select'] ?? [], true);

	$parameters = $this->prepareGetListParameters($parameters);

	$itemIds =
		$this->getDataClass()::getList(['select' => [Item::FIELD_NAME_ID]] + $parameters)
			->fetchCollection()
			->getIdList()
	;
	if (empty($itemIds))
	{
		return [];
	}

	$items = [];

	$list = $this->getDataClass()::getList(
		[
			'filter' => ['@' . Item::FIELD_NAME_ID => $itemIds],
			'limit' => null,
		] + $parameters
	);
	while($item = $list->fetchObject())
	{
		$items[] = $this->getItemByEntityObject($item);
	}

	if ($isFmInSelect && $this->isMultiFieldsEnabled())
	{
		Container::getInstance()->getMultifieldStorage()->warmupCache($this->getEntityTypeId(), $itemIds);
	}

	return $items;
}