• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/ui/entityselector/dynamicmultipleprovider.php
  • Класс: Bitrix\Crm\Integration\UI\EntitySelector\DynamicMultipleProvider
  • Вызов: DynamicMultipleProvider::splitIdsByEntityId
protected function splitIdsByEntityId(array $ids): array
{
	$idsByEntityId = [];

	foreach ($ids as $id)
	{
		[$entityTypeId, $entityId] = static::parseId($id);

		if ($entityTypeId !== null && $entityId !== null)
		{
			$idsByEntityId[$entityTypeId][] = $entityId;
		}
	}

	$allowedEntityIds = $this->getDynamicEntityIds();

	foreach ($idsByEntityId as $entityId => $list)
	{
		if (in_array($entityId, $allowedEntityIds, true))
		{
			$idsByEntityId[$entityId] = array_values(array_unique($list));
		}
		else
		{
			unset($idsByEntityId[$entityId]);
		}
	}

	return $idsByEntityId;
}