• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/Service/Timeline/Repository.php
  • Класс: Bitrix\Crm\Service\Timeline\Repository
  • Вызов: Repository::getHistoryItemsPage
public function getHistoryItemsPage(Query $queryParams): Result
{
	$items = [];
	$offsetTime = $queryParams->getOffsetTime();
	$offsetId = $queryParams->getOffsetId();
	$nextOffsetTime = null;
	$nextOffsetId = 0;

	do
	{
		if ($nextOffsetTime !== null)
		{
			$offsetTime = $nextOffsetTime;
		}

		if ($nextOffsetId > 0)
		{
			$offsetId = $nextOffsetId;
		}

		$items = array_merge(
			$items,
			$this->loadHistoryItems(
				$offsetTime,
				$nextOffsetTime,
				$offsetId,
				$nextOffsetId,
				[
					'limit' => $queryParams->getLimit(),
					'filter' => $queryParams->getFilter(),
					'onlyFixed' => $queryParams->isSearchForFixedItems(),
				]
			)
		);
	}
	while (count($items) < $queryParams->getLimit() && $nextOffsetTime !== null);

	return (new Result())
		->setItems($items)
		->setOffsetId($nextOffsetId)
		->setOffsetTime($nextOffsetTime)
	;
}