Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

Пример настройки уведомления с функцией быстрого ответа с помощью простой обработки изменений процессов событий.

Отправка уведомлений в конфигурации типа процесса. На адрес EMail указанный в параметре исполнителей с кодом 21 отправляется письмо. В тему добавляется QA маркер для быстрого ответа.

Блок кода
languagejava
linenumbersfalse
onProcessEvent.5.events=messageAdded
onProcessEvent.5.doExpression=<<END
   text = "Новое сообщение в процессе, в котором вы числитесь исполнителем." + 
       NEW_LINE2 + "Сообщение:" + NEW_LINE +
       event.getMessage().getText() +
       NEW_LINE2 + "Открыть процесс: http://crm.office.bitel.ru/user/process#" + process.getId() +
       NEW_LINE2 + "Для быстрого ответа на сообщение ответьте на это письмо сохранив идентификатор в теме.";
    
   subject = "Новое сообщение в процессе  #" + process.getId() + 
      " [" + (process.getDescription().length() < 15 ? process.getDescription() : process.getDescription().substring(0, 15) + "..") + "] " +
      " QA:" + event.getMessage().getId(); 
   
   emailNotifyExecutors(21, subject, text);
END

Уведомление о назначении процесса на исполнителя с текстом входящих сообщений.

Блок кода
languagejava
linenumbersfalse
onProcessEvent.6.events=executorsChanged
onProcessEvent.6.doExpression=<<END
      text = "Изменён состав исполнителей процесса." + NEW_LINE2;
   
      searchResult = new("ru.bgcrm.model.SearchResult");
      searchResult.getPage().setPageIndex(-1); 
      dao = new("ru.bgcrm.dao.message.MessageDAO", conSet.getConnection());
      dao.searchMessageList(searchResult, process.getId(), null, 1, null, null, null, null, null, true);
      
      lastMsg = null;      
      for (m : searchResult.getList()) {
         if (lastMsg == null) lastMsg = m;       
  
         text += "Входящее сообщение #" + m.getId() + NEW_LINE;
         text +=  "##########################" + NEW_LINE;
         text +=  m.getText() +  NEW_LINE2;
       }
     
      subject = "#" + process.getId() + 
       " [" + (process.getDescription().length() < 30 ? process.getDescription() : process.getDescription().substring(0, 30) + "..") + "] ";
      if (lastMsg != null) subject += " QA:" + lastMsg.getId();
    
      emailNotifyExecutors(21, subject, text);
END

На адрес, с которого было отправлено уведомление, должен быть настроен тип сообщения с конфигурацией.

Блок кода
languagejava
linenumbersfalse
messageType.<id>.title=info@bgcrm.ruНаименование
messageType.<id>.class=ru.bgcrm.dao.message.MessageTypeEmail
...
messageType.<id>.quickAnswerEmailParamId=21

...

Документация BGCRM 3.0