MonitorByActResponsible::resetForIdleChanged

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. MonitorByActResponsible
  4. resetForIdleChanged
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/counter/monitor/monitorbyactresponsible.php
  • Класс: Bitrix\Crm\Counter\Monitor\MonitorByActResponsible
  • Вызов: MonitorByActResponsible::resetForIdleChanged
private function resetForIdleChanged()
{
	$changedEntities = $this->entitiesChangesCollection->onlyIdleSupportedEntities();

	foreach ($changedEntities->getValues() as $changedEntity)
	{
		$entityTypeId = $changedEntity->getIdentifier()->getEntityTypeId();

		if ($changedEntity->wasEntityAdded())
		{
			$this->resetCounters(
				$entityTypeId,
				[
					EntityCounterType::IDLE,
					EntityCounterType::ALL,
				],
				$changedEntity->getActualAssignedById(),
				$changedEntity->getActualCategoryId()
			);
		}
		else
		{
			$affectedResponsibleIds = [];
			if ($changedEntity->getNewAssignedById() > 0)
			{
				$affectedResponsibleIds[] = $changedEntity->getNewAssignedById();
			}
			if ($changedEntity->isAssignedByChanged() && $changedEntity->getOldAssignedById() > 0)
			{
				$affectedResponsibleIds[] = $changedEntity->getOldAssignedById();
			}

			foreach ($affectedResponsibleIds as $responsibleId)
			{
				$this->resetCounters(
					$entityTypeId,
					[
						EntityCounterType::IDLE,
						EntityCounterType::ALL,
					],
					$responsibleId,
					$changedEntity->getActualCategoryId(),
				);
			}
		}
	}
}

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