EntityChange::isStageSemanticIdChanged

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. EntityChange
  4. isStageSemanticIdChanged
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/counter/monitor/entitychange.php
  • Класс: Bitrix\Crm\Counter\Monitor\EntityChange
  • Вызов: EntityChange::isStageSemanticIdChanged
public function isStageSemanticIdChanged(): bool
{
	if (!is_null($this->oldStageId) && !is_null($this->newStageId))
	{
		$factory = Container::getInstance()->getFactory($this->identifier->getEntityTypeId());
		if (!$factory || !$factory->isStagesEnabled())
		{
			return false;
		}
		$oldStages = $factory->getStages($this->oldCategoryId);
		$oldStageSemanticId = null;
		foreach ($oldStages->getAll() as $stage)
		{
			if ($stage->getStatusId() === $this->oldStageId)
			{
				$oldStageSemanticId = $stage->getSemantics();
				break;
			}
		}

		$newStages = $factory->getStages($this->newCategoryId);
		$newStageSemanticId = null;
		foreach ($newStages->getAll() as $stage)
		{
			if ($stage->getStatusId() === $this->newStageId)
			{
				$newStageSemanticId = $stage->getSemantics();
				break;
			}
		}

		return $oldStageSemanticId !== $newStageSemanticId;
	}
	return $this->oldStageId !== $this->newStageId;
}

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