Оповещение сотрудника на портале Битрикс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);
}
}
}
}


Ещё статьи:

20.09.2021 Разговор с рекрутером в 2021. Мидл это младший специалист и на удалёнку не ниже сеньёра
Рекрутер: В принципе ок, но обычно младших специалистов мы в офис берем). Что скажете?
П.С. Мда, интересно оказывается, что мидл это младший специалист,... ID: 320

01.12.2020 Свершилось, битрикс перестал поддерживать mbstring.func_overload
Теперь для обновления на версию v20.100.0 требуется удаление опции mbstring.func_overload. Эта опция более не требуется и не поддерживается платформой... ID: 313

13.08.2020 Получить id элемента привязки к пользователю битрикс
Получить id элемента, который добавлен в свойство привязки к пользователю битрикс ID: 250

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

23.09.2021 Тест провайдера adminvps.ru Тариф Битрикс 1 в 2021
Провёл тесты производительности Битрикс у провайдера adminvps.ru Тариф Битрикс 1.
В целом результаты мне очень понравились, что бросилось в глаза: ID: 321

01.07.2021 Типовые ошибки битрикс программиста на этапе предоставления образцов кода
ID: 319

07.05.2021 Дайджест №1 Ваджра и еврейский вопрос
На днях Ваджра зацепил так называемый "еврейский вопрос", выдержка цитата:
На днях я был безжалостно записан в антисемиты. Забавно. Честно говоря,... ID: 318

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

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