• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/kanban/entityactivitydeadline.php
  • Класс: Bitrix\Crm\Kanban\EntityActivityDeadline
  • Вызов: EntityActivityDeadline::getDeadline
public function getDeadline(string $statusTypeId): ?DateTime
{
	if (strpos($statusTypeId, ':'))
	{
		[$prefix, $statusTypeId] = explode(':', $statusTypeId);
	}

	if (
		$statusTypeId === EntityActivities::STAGE_IDLE
		|| $statusTypeId === EntityActivities::STAGE_OVERDUE
	)
	{
		return null;
	}

	$dateTime = $this->getUserDateTime();

	if ($statusTypeId === EntityActivities::STAGE_PENDING)
	{
		$dateTime = $this->datetimeStages->current($dateTime);
	}
	elseif ($statusTypeId === EntityActivities::STAGE_THIS_WEEK)
	{
		$dateTime = $this->datetimeStages->currentFromThisWeek($dateTime);
	}
	elseif ($statusTypeId === EntityActivities::STAGE_NEXT_WEEK)
	{
		$dateTime = $this->datetimeStages->nextWeek($dateTime);
	}
	else
	{
		$dateTime = $this->datetimeStages->afterTwoWeek($dateTime);
	}

	return \CCrmDateTimeHelper::getServerTime($dateTime);
}