• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/pseudoactivity/waitentry.php
  • Класс: Bitrix\Crm\Pseudoactivity\WaitEntry
  • Вызов: WaitEntry::processActivityCreation
static function processActivityCreation(array $activityFields, array $params = null)
{
	$provider = \CCrmActivity::GetProviderById(
		isset($activityFields['PROVIDER_ID']) ? $activityFields['PROVIDER_ID'] : ''
	);
	if(!($provider && $provider::checkForWaitingCompletion($activityFields)))
	{
		return;
	}

	$bindings = is_array($params) && isset($params['BINDINGS']) && is_array($params['BINDINGS'])
		? $params['BINDINGS'] : array();

	if(empty($bindings))
	{
		return;
	}

	foreach($bindings as $binding)
	{
		$ownerTypeID = isset($binding['OWNER_TYPE_ID']) ? (int)$binding['OWNER_TYPE_ID'] : 0;
		$ownerID = isset($binding['OWNER_ID']) ? (int)$binding['OWNER_ID'] : 0;

		//if(!(\CCrmOwnerType::IsDefined($ownerTypeID) && $ownerID > 0))
		if(!($ownerID > 0
			&& ($ownerTypeID === \CCrmOwnerType::Deal || $ownerTypeID === \CCrmOwnerType::Lead))
		)
		{
			continue;
		}

		self::completeByOwner($ownerTypeID, $ownerID, array('SKIP_RECENT' => false));
	}
}