• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/timeline/controller.php
  • Класс: Bitrix\Crm\Timeline\Controller
  • Вызов: Controller::createItemByTimelineEntryId
protected function createItemByTimelineEntryId(Context $context, int $timelineEntryId):
	?\Bitrix\Crm\Service\Timeline\Item
{
	if ($timelineEntryId <= 0)
	{
		return null;
	}

	$timelineEntry = $this->getTimelineEntryFacade()->getById($timelineEntryId);
	if (!$timelineEntry)
	{
		return null;
	}
	if ((new IgnoredItemsRules($context))->isTimelineItemIgnored($timelineEntry))
	{
		return null;
	}

	$timelineEntry['IS_FIXED'] = \Bitrix\Crm\Timeline\TimelineEntry::isFixed(
		$timelineEntryId, $context->getEntityTypeId(), $context->getEntityId()
	)  ? 'Y' : 'N';

	$timelineEntryArray = [$timelineEntry];

	TimelineManager::prepareDisplayData(
		$timelineEntryArray,
		$context->getUserId(),
		$context->getUserPermissions()->getCrmPermissions(),
		$context->getType() !== Context::PULL
	);

	$timelineEntry = $timelineEntryArray[0] ?? null; // $timelineEntryArray can be modified in case of insufficient permissions
	if (!$timelineEntry)
	{
		return null;
	}

	return Container::getInstance()->getTimelineHistoryItemFactory()::createItem(
		$context,
		$timelineEntry
	);
}