• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/lib/integration/ui/entityselector/taskprovider.php
  • Класс: BitrixTasksIntegrationUIEntitySelectorTaskProvider
  • Вызов: TaskProvider::fillWithRecentItems
private function fillWithRecentItems(Dialog $dialog): void
{
	if ($dialog->getRecentItems()->count() <= 0)
	{
		return;
	}

	$tasks = $this->getTasks(['ids' => $this->getRecentItemsIds($dialog)]);
	foreach ($dialog->getRecentItems()->getAll() as $item)
	{
		/** @var RecentItem $item */
		$itemId = $item->getId();

		if (
			!array_key_exists($itemId, $tasks)
			|| $dialog->getItemCollection()->get(self::$entityId, $itemId)
		)
		{
			continue;
		}

		$dialog->addItem(
			new Item([
				'entityId' => self::$entityId,
				'id' => $itemId,
				'title' => $tasks[$itemId],
				'tabs' => 'recents',
			])
		);

		if ($dialog->getItemCollection()->count() >= self::$maxCount)
		{
			break;
		}
	}
}