Приложение позволяет организовать обмен различными типами сообщений с привязкой их к процессам. Таким образом процесс хранит всю историю связанных с ним коммуникаций с клиентами и между сотрудниками, давая возможность легко восстановить ход событий и производить весь обмен из интерфейса программы.
В ядре поддерживаются сообщения типа Звонок, Заметки (Комментарии). Дополнительные типы сообщений предоставляются плагинами.
Система сообщений позволяет организовать обмен информации централизованным образом, исключая персональные контакты через отдельные аккаунты E-Mail, телефоны и т.п.. Процесс может легко быть передан иному исполнителю и всю информацию по нему доступна всем и всегда.
Сообщения E-Mail могут быть использованы для коммуникации двух BGERP между собой. В каждой из них сообщения будут привязаны к своему процессу, имеющих собственных исполнителей.
Для настройки сообщений создать отдельную конфигурацию, включаемую в основную посредством инклуда.
Following settings should be done in the configuration.
Типы сообщения настраиваются в конфигурации, одна или несколько записей вида:
messageType.<id>.title=<title>
messageType.<id>.class=<messageTypeClassName>
Где:
<id> - уникальный числовой идентификатор типа сообщения, не должен меняться впоследствии;
<title> - наименование типа сообщения;
<messageTypeClassName> - имя класса-обработчика сообщений.
Опциональные параметры:
# не информировать о необработанных сообщениях данного типа
messageType.<id>.unprocessedMessageNotify=0
Остальные параметры различаются для разных видов сообщений.
Для типа сообщения могут быть указаны один или несколько режимов поиска:
messageType.<id>.search.<searchModeId>.title=<title>
messageType.<id>.search.<searchModeId>.class=<searchModeClassName>
Где:
<searchModeId> - уникальный числовой идентификатор режима поиска, начиная с 1;
<title> - наименование режима поиска;
<searchModeclassName> - имя класса, реализующего режим поиска.
Первый режим поиска применяется по-умолчанию при открытии сообщения для обработки.
Необязателен к указанию и класс, сохраняющий контакт.
messageType.<id>.saver.class=<saverClassName>
На скриншоте цифрой 1 изображены режимы поиска, 2 - режимы сохранения контакта.
Режимы поиска и сохранения могут быть специфичны для типа сообщения. Search modes, marked as Auto are automatically and parallel running when a message is opened.
Значение <searchModeClassName>, что ищет | Конфигурация и пример |
---|---|
MessageTypeSearchCustomerByTitle |
Нет дополнительных параметров.
|
MessageTypeSearchEmail |
Нет дополнительных параметров.
|
MessageTypeSearchCall |
Где:
Пример:
|
BGBillingMessageTypeSearchEmail |
Где:
Пример:
|
BGBillingMessageTypeSearchCall |
Где:
Пример:
|
BGBillingMessageTypeSearchContractByTitleAndComment |
Где:
Пример:
|
Значение <saverClassName>, что делает | Конфигурация и пример |
---|---|
MessageTypeContactSaverEmail |
Где:
Пример:
|
MessageTypeContactSaverPhone |
Где:
Пример:
|
BGBillingMessageTypeContactSaverPhone |
Где:
Пример:
|
<messageTypeClassName>=MessageTypeNote
Used for appending process notes.
Addidtional optional settings:
messageType.<id>.create.unread=1
Allows to create notes as unread.
Example of configuration:
messageType.100.title=Note
messageType.100.class=MessageTypeNote
<messageTypeClassName>=MessageTypeCall
Дополнительные необязательные параметры:
messageType.<id>.offerNumberFromParamId=<offerNumberFromParamId>
messageType.<id>.autoNumberRegister=<autoNumberRegister>
Где:
<offerNumberFromParamId> - код текстового параметра пользователя, содержащий номер, предлагаемый к занятию по-умолчанию.
<autoNumberRegister> - 0, to disable automatic registering user number on login.
Тип сообщения представляет из себя звонок, который обрабатывается оператором. Для данного типа сообщения в оснастке обработки сообщений отображается поле занятия номера. Строго говоря, это означает, что в системе может быть зарегистрирован только один тип сообщения Call.
As a call’s supplier should be used Asterisk plugin or external HTTP requests.
Colored message tags allow to separate messages in process tab. Example of configuration:
tag.1.title=Access tag.1.color=red tag.2.title=Requirements tag.2.color=green tag.3.title=TODO tag.3.color=magenta
You can see a sample configurations in Demo System. For doing that open the message with subject Kernel Message Possible Process Unprocessed message in queue. Server configuration with Possible Processes for that has the name Kernel Message Possible Process. |
To configure Possible Processes to be found during message processing add to configuration following blocks:
message.possible.process.<id>.class=<class>
message.possible.process.<id>.color=<color>
Where:
<id> - unique block’s numeric ID, found processes are sorted by the IDs
<color> - optional HTML color for table rows with found processes
<class> - search type, one of the following values:
MessagePossibleProcessSearchMessageFrom - processes with messages from the same from address (E-Mail sender or calling number) as the processed message.
MessagePossibleProcessSearchFoundLinks - processes with the same links as found for the processed message.
MessagePossibleProcessSearchFoundLinksCustomerAddressCity - processes with a list parameter values, matching to city IDs of address parameter of found customers. That type requires additional properties set:
processCityParamId, ID of the list parameter.
BGBillingMessagePossibleProcessSearchFoundLinksContractAddressCity - processes with a list parameter values, matching to city IDs of address parameter of found contracts in BGBilling system. That type requires additional properties set:
processCityParamId, ID of the list parameter;
contractAddressParamId.<billingId>, ID of address parameter in BGBilling system with ID <billingId>.
If no block is defined then a single ones with class MessagePossibleProcessSearchMessageFrom is added. |
Получение новых сообщений и отправку созданных осуществляет класс MessageExchange, настройте его запуск в планировщике.
Дополнительные опциональные параметры конфигурации задачи:
messageTypeIds - коды типов сообщений через запятую, для которых производить обмен.
Доступна через оснастку Сообщения. Основное назначение - первичная обработка сообщений с привязкой к вновь созданным, либо существующим процессам. В обработке нуждаются не все сообщения, в данный момент она используется для E-Mail ов и звонков. Обработка звонка открывается автоматически, E-Mail ы необходимо открывать в оснастке вручную.
Уведомление о количестве необработанных сообщений выводится в области уведомлений. |
Сообщение считается обработанным после того, как к нему привязан процесс. Помимо этого сообщение можно удалить. В выпадающем списке можно выбрать фильтр по типу сообщений. В квадратных скобках рядом с типом отображается число необработанных сообщений каждого типа.
При клике по строке открывается обработка сообщения, внешний вид может быть следующим для звонка (снимок уже использовался выше).
Либо для E-Mail.
In the left bottom area during message processing are shown possible processes, that can be assinged for the message using set links.
Отображение вкладки сообщений должно быть настроено в конфигурации типа процесса.
Для создания сообщения в рамках процесса используйте кнопку Создать.
Доступен фильтр по сообщениям со вложениями и тегам. Теги позволяют маркировать каждое сообщение определёнными метками, позволяющими их позже легко найти, например: "TODO", "Реквизиты".
Кнопка M рядом с каждым сообщением вызывает всплывающее меню с операциями:
Вкл./выкл. разрывы строк - перенос длинных строк в сообщениях либо отображение скроллинга;
Теги - установить теги на выбранное сообщение.
Изменить процесс на - привязать сообщение к другому процессу:
Другой существующий - по коду уже существующего процесса;
Независимую копию текущего - создаётся новый процесс, копия текущего, в него копируются все привязки;
Зависящую копию текущего - создаётся новый процесс, копия текущего и привязанный к нему с типом processDepend;
Порождённую копию текущего - создаётся новый процесс, копия текущего и привязанный к нему с типом processMade;
Ссылаемую копию текущего - создаётся новый процесс, копия текущего и привязанный к нему с типом processLink.
Ответить - создать новое сообщение, являющееся ответом на выбранное и также привязанное к текущему процессу;
Редактировать - редактировать сообщение, если тип поддерживает;
Удалить - удалить сообщение, если тип поддерживает.
Пометку процессов с новыми сообщениями можно реализовать переключением статуса процесса по событию поступления сообщения.