• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/restriction/bitrix24searchlimitrestriction.php
  • Класс: Bitrix\Crm\Restriction\Bitrix24SearchLimitRestriction
  • Вызов: Bitrix24SearchLimitRestriction::notifyLimitWarning
public function notifyLimitWarning(int $entityTypeId, int $warningCount, int $userId = null): void
{
	if ($userId === null)
	{
		$userId = Container::getInstance()->getContext()->getUserId();
	}

	if (!$userId)
	{
		return;
	}

	$this->setUserNotifiedCount($entityTypeId, $warningCount, $userId);

	$entityTypeName = CCrmOwnerType::ResolveName($entityTypeId);
	if (
		Loader::includeModule('im')
		&& Loader::includeModule('ui')
		&& $entityTypeName !== ''
	)
	{
		$helpdeskUrl = Util::getArticleUrlByCode('9745327');

		$message =
			Loc::getMessage('CRM_B24_SEARCH_LIMIT_RESTRICTION_'.$entityTypeName.'_WARNING_TEXT1', [
				'#COUNT#' => $warningCount,
				'#LIMIT#' => $this->getQuantityLimit(),
			]).
			"\n\n".
			Loc::getMessage('CRM_B24_SEARCH_LIMIT_RESTRICTION_'.$entityTypeName.'_WARNING_TEXT2', [
				'#HELPDESK_LINK#' => ''.Loc::getMessage('CRM_B24_SEARCH_LIMIT_RESTRICTION_HELPDESK_LINK').''
			]);

		$messageOut =
			Loc::getMessage('CRM_B24_SEARCH_LIMIT_RESTRICTION_'.$entityTypeName.'_WARNING_TEXT1', [
				'#COUNT#' => $warningCount,
				'#LIMIT#' => $this->getQuantityLimit(),
			])
			. ' '
			. Loc::getMessage('CRM_B24_SEARCH_LIMIT_RESTRICTION_'.$entityTypeName.'_WARNING_TEXT2', [
				'#HELPDESK_LINK#' => '('.Loc::getMessage('CRM_B24_SEARCH_LIMIT_RESTRICTION_HELPDESK_LINK').': '.$helpdeskUrl.')'
			])
		;

		CIMNotify::Add([
			'MESSAGE_TYPE' => IM_MESSAGE_SYSTEM,
			'TO_USER_ID' => $userId,
			'NOTIFY_TYPE' => IM_NOTIFY_SYSTEM,
			'NOTIFY_MODULE' => 'crm',
			'NOTIFY_EVENT' => 'other',
			'NOTIFY_TAG' => 'CRM|SEARCH_LIMIT_WARNING|' . $entityTypeName,
			'NOTIFY_MESSAGE' => $message,
			'NOTIFY_MESSAGE_OUT' => $messageOut
		]);
	}
}