Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Как установить дополнительное почтовой событие в модуле Техподдержка

00 голосов
3
Добрый день.
Необходимо, чтобы при выставлении оценки по обращению в модуле техподдержка (Битрикс версии 7.1.1) приходило отдельное сообщения, помимо TICKET_CHANGE_FOR_TECHSUPPORT
В почтовых событиях я сделал событие TICKET_GRADE_FOR_TECHSUPPORT, и создал для него шаблоны,
но как привязать тип события к конкретному событию неясно
спросил 08 Авг, 13 от XPOHO (160 баллов)

3 Ответы

00 голосов
Не надо создавать событие и привязывать его к событию.
Создайте новый почтовый шаблон на событие TICKET_CHANGE_FOR_TECHSUPPORT
ответил 08 Авг, 13 от Olly (820 баллов)
00 голосов
а как тогда учесть, что данное сообщение отправляется только при изменении одного поля, а в остальных случаях отправляется стандартный шаблон?
ответил 11 Окт, 13 от XPOHO (160 баллов)
00 голосов
Выкладываю свой вариант решения этого вопроса:

Необходимо модифицировать модуль техподдержки, в файле /bitrix/modules/support/classes/general/support.php
в следующей функции, добавить следующую проверку:
Необходимые изменения
Код
if (strstr($change, GetMessage("SUP_MARK_CHANGED"))) {
 
                 CEvent::Send("GET_RATES",$arSite["ID"], $arEventFields_support); 
      }


В функции
Код
...........
if ($SEND_EMAIL_TO_TECHSUPPORT=="Y" && (strlen($change)>0 || strlen($change_hidden)>0))
                  {
                     $arEventFields_support["WHAT_CHANGE"] .= $change_hidden;
                     //echo "<pre>TICKET_CHANGE_FOR_TECHSUPPORT: "; print_r($arEventFields_support); echo "</pre>";
                     $arEventFields_support = CTicket::ExecuteEvents('OnBeforeSendMailToSupport', $arEventFields_support, false);
                     if($arEventFields_support)
                           {
if (strstr($change, GetMessage("SUP_MARK_CHANGED"))) {
 
                 CEvent::Send("GET_RATES",$arSite["ID"], $arEventFields_support); 
      }
                        CEvent::Send("TICKET_CHANGE_FOR_TECHSUPPORT",$arSite["ID"],$arEventFields_support);
                           }
                  }
.................


Где GET_RATES имя созданного события
ответил 12 Янв, 14 от MucTuka (100 баллов)

Похожие вопросы

0 голосов
3 ответов
спросил 27 Фев, 14 от Bambocho (300 баллов)
0 голосов
3 ответов
0 голосов
9 ответов
0 голосов
7 ответов