...
Значение <searchModeClassName> | Что ищет | Конфигурация и пример | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ru.bgcrm.dao.message.MessageTypeSearchCustomerByTitle | Контрагента по наименованию, для любого типа сообщения. | Нет дополнительных параметров. Пример:
| ||||||||||||||
ru.bgcrm.dao.message.MessageTypeSearchEmail | Поиск контрагента по Email для типа сообщения Email. | Нет дополнительных параметров. Пример:
| ||||||||||||||
ru.bgcrm.dao.message.MessageTypeSearchCall | Поиск контрагента в базе BGCRM по номеру телефона звонящего для типа сообщения Call. Поиск производится по точному совпадению. |
Где:
Пример:
| ||||||||||||||
ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchEmail | Поиск договора в базе BGBilling по EMail парамеру для типа сообщения EMail. |
Где:
Пример:
| ||||||||||||||
ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchCall | Поиск договора в базе BGBilling по номеру телефона звонящего для типа сообщения Call. Поиск производится по подстроке. |
Где:
Пример:
| ||||||||||||||
ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchContractByTitleAndComment | Поиск договора в базе BGBilling по номеру и комментарию, для любого типа сообщения. |
Где:
Пример:
| ||||||||||||||
ru.bgcrm.plugin.bgbilling.dao.MessageTypeSearchContractByDialUpLogin | Поиск договора в базе BGBilling по логину либо алиасу DialUp модуля. |
Где:
Пример:
|
...
Блок кода | ||||
---|---|---|---|---|
| ||||
messageType.1.title=billing@bitel.ru messageType.1.class=ru.bgcrm.dao.message.MessageTypeEmail messageType.1.email=billing@bitel.ru messageType.1.host=imap.ufamail.ru messageType.1.login=billing@bitel.ru messageType.1.pswd=***** messageType.1.folderIn=INBOX messageType.1.folderProcessed=INBOX.CRM_PROCESSED messageType.1.folderSkipped=INBOX.CRM_SKIPPED messageType.1.folderSent=INBOX.CRM_SENT messageType.1.signExpression=NEW_LINE + user.getTitle() + NEW_LINE + "Служба технической поддержки" + NEW_LINE + "ОАО \"Инет\"" + NEW_LINE + "тел. 2232333" + NEW_LINE + "email. mastea@inet.ru" + NEW_LINE messageType.1.mail.transport.protocol=smtp messageType.1.mail.smtp.user=billing@bitel.ru messageType.1.mail.smtp.host=smtp.ufamail.ru messageType.1.mail.smtp.pswd=****** |
Быстрый ответ
Полученные по E-Mail уведомления о новых сообщениях процесса могут быть использованы для быстрого ответа на них. Для этого в тему уведомлений добавляется маркер QA:код сообщения. Быстрый ответ может быть произведён на любой тип сообщения и идентичен написанию ответа из интерфейса BGCRM. Пользователь идентифицируется по EMail, сохранённому в параметре типа EMail, код которого указывается в опции quickAnswerEmailParamId типа сообщения.
Пример настройки уведомления с функцией быстрого ответа с помощью простой обработки изменений процессов событий.
Отправка уведомлений в конфигурации типа процесса. На адрес EMail указанный в параметре исполнителей с кодом 21 отправляется письмо. В тему добавляется QA маркер для быстрого ответа.
Блок кода | ||||
---|---|---|---|---|
| ||||
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 |
Уведомление о назначении процесса на исполнителя с текстом входящих сообщений.
Блок кода | ||||
---|---|---|---|---|
| ||||
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 |
На адрес, с которого было отправлено уведомление, должен быть настроен тип сообщения с конфигурацией.
Блок кода | ||||
---|---|---|---|---|
| ||||
messageType.<id>.title=Наименование
messageType.<id>.class=ru.bgcrm.dao.message.MessageTypeEmail
...
messageType.<id>.quickAnswerEmailParamId=21 |
Сообщения Note
<messageTypeClassName>=ru.bgcrm.dao.message.MessageTypeNote.
...
По занятому номеру система определяет какой из пользователей получил звонок и открывает для него сообщение для обработки. Для включения данного функционала в переменной createOnStart конфигурации сервера должн быть указан класс ru.bgcrm.event.listener.MessageTypeCallListener.
"Поставщиком" звонков может, например, выступить плагин Asterisk либо звонок может быть зарегистрирован внешним HTTP запросом класса
Crm_javadoc | ||
---|---|---|
|