- Модуль: 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)
;
}