SynchronizeUncompletedActivityDataAgent::processEntityUncompletedActivityTable

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. SynchronizeUncompletedActivityDataAgent
  4. processEntityUncompletedActivityTable
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/agent/activity/synchronizeuncompletedactivitydataagent.php
  • Класс: Bitrix\Crm\Agent\Activity\SynchronizeUncompletedActivityDataAgent
  • Вызов: SynchronizeUncompletedActivityDataAgent::processEntityUncompletedActivityTable
private function processEntityUncompletedActivityTable(array $result): array
{
	$limit = $this->getLimit();
	$lastId = ($result['lastUncompletedActivityId'] ?? 0);
	$processedCount = 0;

	$items = $this->getUncompletedActivityList($lastId, $limit);

	foreach ($items as $item)
	{
		$lastId = (int)$item['ID'];
		$result['steps']++;
		$processedCount++;

		if (!$item['REAL_DEADLINE'] instanceof DateTime)
		{
			continue;
		}

		if (
			$item['MIN_DEADLINE'] instanceof DateTime
			&& $item['MIN_DEADLINE']->getTimestamp() === $item['REAL_DEADLINE']->getTimestamp()
		)
		{
			continue;
		}

		$minDeadline = clone $item['REAL_DEADLINE'];
		$minDeadline->disableUserTime();

		EntityUncompletedActivityTable::update($item['ID'], ['MIN_DEADLINE' => $minDeadline]);
	}

	$result['lastUncompletedActivityId'] = $lastId;

	if ($processedCount < $limit)
	{
		$result['currentTable'] = '-';
	}

	return $result;
}

Добавить комментарий