Оповещение сотрудника на портале Битрикс24

Оповещение сотрудника на портале Битрикс24

12.05.2017

Задача
Доработка на портале Битрикс24 оповещения сотрудника на его почту при добавлении элемента инфоблока к которому сотрудник привязан.

Этапы реализации
1) Разработка и программирование обработчика для добавления значения рабочей почты сотрудника, которому объявили благодарность (элемент инфоблока) в почтовый шаблон.
2) Создание почтового события и настройка почтового шаблона для оповещений сотрудников о новой благодарности
3) Тестирование работоспособности события оповещения о новой благодарности сотруднику.
Примечания:
/local/php_interface – в системной папке в файл init.php добавлен код нового обработчика для добавления значения (макроса) рабочей почты сотрудника, которому объявили благодарность в почтовый шаблон.
Для почтового события THANKS был добавлен новый почтовый шаблон [146] #SITE_NAME#: Вам была добавлена новая благодарность
Особенности
В процессе разработки обработчика у меня проблема вывести в почтовом шаблоне макрос поля, в моем случае это #’WORKER_EMAIL#

Как выяснилось, особенностью CEvent::Send является то, что любое доступное свойство элемента инфоблока можно передать в обработчике в почтовый шаблон и использовать.

Рабочий пример обработчика

class MyAdmin
{
// создаем обработчик события «OnAfterIBlockElementAdd»
function OnAfterIBlockElementAddHandler(&$arFields)
{
if(!$arFields[«RESULT»])
return false;
if ($arFields[«IBLOCK_ID»] == 25)
{
$db_props = CIBlockElement::GetProperty(25, $arFields[‘ID’], «sort», «asc», Array(«CODE»=>»USER»));

if ($ar_props = $db_props->Fetch())
{
$THANKSUSER=$ar_props[‘VALUE’];//получаем значение сотрудника, которому объявили благодарность
}
$rsUser = CUser::GetByID($THANKSUSER);
$arUser = $rsUser->Fetch();
$WORKEREMAIL=$arUser[‘EMAIL’]; //получаем значение почты сотрудника, которому объявили благодарность
{ $arIBlockElement = GetIBlockElement($arFields[«ID»]);
$arSend = array(
‘WORKER_EMAIL’ => $WORKEREMAIL,
‘TEXT’ => $arIBlockElement[‘DISPLAY_PROPERTIES’][‘USER’][‘DISPLAY_VALUE’].’ добавил благодарность’);
$arrSite = ‘s1’;
CEvent::Send(‘THANKS2’,$arrSite,$arSend);
}
}
}
}


Ещё статьи:

15.02.2024 История о жадности или как клиент свободное место искал на сервере
Случилась у меня одна история с клиентом, который свободное место искал на сервере, но на самом деле это больше о жадности, но в итоге всё равно пришл... ID: 466

08.11.2023 Хроники БУС упадка
На днях произошли очередные изменения в БУС битрикс. Полезный модуль bitrix.xscan включили в состав проактивной защиты и убрали из бесплатного сегмента... ID: 465

26.07.2023 Kwork.com закрыл доступ для резидентов РФ
Доступ к выставлению услуг теперь ограничен "К сожалению, вынуждены сообщить, что резиденты РФ в настоящее время не могут использовать сайт Kwork... ID: 463

Новые статьи в блоге:

01.12.2025 Задача алфавитный указатель товаров
Интересная задача для тренировки навыков.
Суть такая:
Алфавитный указатель товаров, но не стандартный где обычно сортировка разделов по названию происходит,... ID: 649

01.12.2025 Junior разработчик PHP 2025
Периодически бывает вижу вакансии для джунов, и немного прозреваю от того что я вижу.
Обязанности джуна Junior разработчик PHP ID: 648

29.11.2025 Обзор на маркетплейс модулей города по IP адресу
Неделю назад повёлся на предложение клиента пойти вариантом платного модуля для замены модуля выбора города, хотя изначально сказал, что там ловить нечего.... ID: 647

Возврат к списку

© 2015-2025 Web админ
Связаться по WhatsApp