• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integrity/volatile/eventhandler.php
  • Класс: Bitrix\Crm\Integrity\Volatile\EventHandler
  • Вызов: EventHandler::onAssignVolatileTypes
static function onAssignVolatileTypes(array $volatileTypeIds, array $entityTypeIds = [])
{
	$verifiedVolatileTypeIds = [];
	foreach ($volatileTypeIds as $volatileTypeId)
	{
		if (DuplicateVolatileCriterion::isSupportedType($volatileTypeId))
		{
			$verifiedVolatileTypeIds[$volatileTypeId] = true;
		}
	}
	$verifiedVolatileTypeIds = array_keys($verifiedVolatileTypeIds);

	if (!empty($verifiedVolatileTypeIds))
	{
		$verifiedEntityTypeIds = [];
		foreach ($entityTypeIds as $entityTypeId)
		{
			if (CCrmOwnerType::IsDefined($entityTypeId))
			{
				$verifiedEntityTypeIds[$entityTypeId] = true;
			}
		}
		$verifiedEntityTypeIds = array_keys($verifiedEntityTypeIds);

		if (empty($verifiedEntityTypeIds))
		{
			foreach ($verifiedVolatileTypeIds as $volatileTypeId)
			{
				$typeInfo = TypeInfo::getInstance()->getById($volatileTypeId);
				$verifiedEntityTypeIds[$typeInfo['ENTITY_TYPE_ID']] = true;
			}
			$verifiedEntityTypeIds = array_keys($verifiedEntityTypeIds);
		}

		if (!empty($verifiedEntityTypeIds))
		{
			$eventHandler = new static(
				static::EVENT_ASSIGN_VOLATILE_TYPE,
				$verifiedVolatileTypeIds,
				$verifiedEntityTypeIds
			);
			$eventHandler->makeCleaningActions();
		}
	}
}