• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/pseudoactivity/waitentry.php
  • Класс: Bitrix\Crm\Pseudoactivity\WaitEntry
  • Вызов: WaitEntry::delete
static function delete($ID)
{
	$fields = self::getByID($ID);
	if(!is_array($fields))
	{
		$result = new Main\Entity\UpdateResult();
		$result->addError(new Main\Error("Not found") );
		return $result;
	}

	$result = WaitTable::delete($ID);
	if($result->isSuccess())
	{
		$ownerTypeID = isset($fields['OWNER_TYPE_ID']) ? (int)$fields['OWNER_TYPE_ID'] : 0;
		$ownerID = isset($fields['OWNER_ID']) ? (int)$fields['OWNER_ID'] : 0;
		$counterCodes = EntityCounterManager::prepareCodes(
			$ownerTypeID,
			EntityCounterType::getAll(true),
			array('ENTITY_ID' => $ownerID, 'EXTENDED_MODE' => true)
		);
		if(!empty($counterCodes))
		{
			EntityCounterManager::reset($counterCodes, array());
		}

		if(Main\Loader::includeModule('pull'))
		{
			$ownerTypeID = isset($fields['OWNER_TYPE_ID']) ? (int)$fields['OWNER_TYPE_ID'] : 0;
			$ownerID = isset($fields['OWNER_ID']) ? (int)$fields['OWNER_ID'] : 0;
			$tag = TimelineEntry::prepareEntityPushTag($ownerTypeID, $ownerID);
			\CPullWatch::AddToStack(
				$tag,
				array(
					'module_id' => 'crm',
					'command' => 'timeline_wait_delete',
					'params' => array('ENTITY_ID' => $ID, 'TAG' => $tag),
				)
			);
		}
	}
	return $result;

}