• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/update/entity/lastactivityfields.php
  • Класс: Bitrix\Crm\Update\Entity\LastActivityFields
  • Вызов: LastActivityFields::processType
private function processType(int $entityTypeId): bool
{
	$factory = $this->getFactory($entityTypeId);
	if (!$factory)
	{
		$this->markTypeAsFinished($entityTypeId);

		return true;
	}

	[$lastId, $isAllItemsProcessed] = $this->getProgress($entityTypeId);
	if ($isAllItemsProcessed)
	{
		return true;
	}

	$processedCount = 0;
	foreach ($this->getRowsToProcess($factory, $lastId) as $row)
	{
		$this->processRow($factory, $row);

		$lastId = $row->getId();
		$processedCount++;
	}

	if ($processedCount < self::getSingleEntityStepLimit())
	{
		$isAllItemsProcessed = true;
	}

	$this->saveProgress($entityTypeId, $lastId, $isAllItemsProcessed);

	return $isAllItemsProcessed;
}