• Модуль: tasks
  • Путь к файлу: ~/bitrix/modules/tasks/classes/general/tasknotifications.php
  • Класс: CTaskNotifications
  • Вызов: CTaskNotifications::SendDeleteMessage
static function SendDeleteMessage($arFields, bool $safeDelete = false, ?TaskObject $task = null): void
{
	if (self::useNewNotifications() && $task !== null)
	{
		$controller = new BitrixTasksInternalsNotificationController();
		$controller->onTaskDeleted($task, $safeDelete);
		$controller->push();
		return;
	}

	$cacheWasEnabled = CTaskNotifications::enableStaticCache();

	$recipientIds = CTaskNotifications::GetRecipientsIDs($arFields);
	if (count($recipientIds) > 0 && (User::getId() || $arFields['CREATED_BY']))
	{
		if (!($occurAsUserId = CTasksTools::getOccurAsUserId()))
		{
			$occurAsUserId = (User::getId() ? User::getId() : $arFields['CREATED_BY']);
		}

		$messageCode = 'TASKS_TASK_DELETED_MESSAGE_V2';
		$messageInstant = str_replace(
			'#TASK_TITLE#',
			self::formatTaskName($arFields['ID'], $arFields['TITLE'], $arFields['GROUP_ID']),
			self::getGenderMessage($occurAsUserId, $messageCode)
		);
		$messagePush = CTaskNotifications::makePushMessage($messageCode, $occurAsUserId, $arFields);

		CTaskNotifications::sendMessageEx(
			$arFields['ID'],
			$occurAsUserId,
			$recipientIds,
			[
				'INSTANT' => $messageInstant,
				'PUSH' => $messagePush,
			],
			[
				'EVENT_DATA' => [
					'ACTION' => 'TASK_DELETE',
					'arFields' => $arFields,
				],
			]
		);
	}

	// sonet log
	if ($safeDelete)
	{
		BitrixTasksIntegrationSocialNetworkLog::hideLogByTaskId((int) $arFields['ID']);
	}
	else
	{
		BitrixTasksIntegrationSocialNetworkLog::deleteLogByTaskId((int) $arFields['ID']);
	}

	if ($cacheWasEnabled)
	{
		CTaskNotifications::disableStaticCache();
	}
}