Мастер обслуживания
Мастер обслуживания - это система помощи в консультации и обслуживании клиентов. |
Для настройки перехода в редактор мастера обслуживания нажимаем Пуск, выбираем Администрирование → Мастер.
Вверху страницы будет 4 кнопки режима редактора:
По умолчанию будет открыт режим просмотра. Кнопка включенного режима будет зеленой, остальные синими. |
Редактировать
На каждый сеанс обслуживания клиента в мастере создается связанный с этим сеансом процесс обращения, его поведение настраивается в этом окне. В процессе обращения содержится вся информация по сеансу обслуживания, в том числе служебная. По этой причине для возможности работы мастера, процесс обязательно должен иметь минимальный набор из следующих служебных параметров:
-
Идентификатор мастера (text)
-
Идентификатор обращения (text)
-
Наименование мастера (text)
-
История мастера (blob)
-
Атрибуты мастера (blob)
Также процесс должен содержать ровно 1 закрывающий статус, который будет проставлен при закрытии обращения.
В окне редактирования можно настроить следующие параметры:
-
Название - название мастера;
-
ID начального состояния - id состояния, которое будет отображаться при открытии нового обращения;
-
ID конечного состояния - id конечного состояния. Это состояние открывается после завершения обслуживания, но до закрытия обращения. В рамках этого состояния уместно использовать такие автоматизации, как, например, опросы;
-
Тип процесса обращения - id типа процесса, который будет создаваться на каждый сеанс обслуживания клиента через мастер;
-
Параметр идентификатора мастера, Параметр идентификатора обращения, Параметр наименования мастера, Параметр истории мастера, Параметр атрибутов мастера - id служебных текстовых параметров;
-
Параметры, которые необходимо проверять при закрытии мастера - id параметров, без заполнения которых невозможно закрыть обращение, при попытке закрытия без заполнения этих параметров будет показана ошибка;
-
Максимальное количество открытых мастеров - мастер обслуживания также поддерживает открытие нескольких обращений одновременно, этот параметр позволяет ограничить их число.
Для возможности использовать несколько мастеров пользователю необходимо выдать права Плагин мастер⇒Пользователь⇒Переключение на сохраненный мастер.
Состояния
Состояниями называются "шаги" в мастере. В редакторе они будут выглядеть, как маленькие квадратики. |
Чтобы создать новое состояние, нужно двойным кликом на лкм нажать на любое свободное место на поле, заполнить все поля и нажать ОК.
Чтобы редактировать состояние, нужно двойным кликом на лкм нажать на нужный "квадратик".
Редактор состояния содержит:
-
Название шага;
-
Имя класса;
-
JSP;
-
Конфигурация.
Название можно задать любое.
Имя класса — package и название динамического класса, отвечающего следующим требованиям:
-
Он должен наследоваться от ru.bgcrm.dyn.wizard.AbstractStateBlank.
-
Располагаться в директории динамических классов (dyn/ru/bgcrm/dyn/…). Желательно для каждого мастера создавать отдельную папку классов, расположенную в директории dyn/ru/bgcrm/dyn/wizard.
-
Реализовывать метод run() throws BGExcetion.
JSP — путь к JSP-файлу, в котором будет настроена отображаемая для пользователя страница, когда тот будет работать с данным состоянием мастера.
Конфигурация — дополнительные настройки, которыми можно оперировать в вышеуказанном классе и JSP. Поддерживает HTML-разметку.
Общие поддерживаемые ключи в конфигурации
Добавление пользовательского содержания в конце шага состояния
# Добавление пользовательского контента в конце шага состояния
custom.content=<div>Hello</div>
# * Поддерживается мультистрочный ввод
custom.content=<<END
<div class="card mt-2">
<div class="card-header">Информационное окно</div>
<div class="card-body">Описание</div>
</div>
END
Связи
Связи - это переходы между состояниями. |
Чтобы создать связь, нужно нажать по квадрату состояния из которого будет осуществляться переход и, удерживая лкм, провести линию связи до квадрату состояния, в который будет осуществляться переход. В появившемся окне, нужно ввести название для этого перехода и нажать ОК.
Чтобы переименовать или удалить связь, нужно проделать тоже самое, но уже по существующей линии связи.
Просмотр
Просмотр - это режим для передживежния по полю. Для того, чтобы сдвинуть поле в какую-либо сторону, нужно зажать лкм в любой точке поля и передвигать мышью в нужную сторону. |
Поле для поиска состояний
Поле поиска состояний позволяет найти нужное состояние по наименованию и ID. |
Выбрав из списка нужное состояние, вы откроете его редактор.
Настройка режима мультимастер
Для настройки переходим в редактор прав пользователя нажимаем Пуск, выбираем Администрирование → Пользователи → Пользователи. В строке поиска вводим фамилию нужного сотрудника.
Переходим в редактирование профиля (нажав кнопку с изображением карандаша).
В редакторе прав, переходим в раздел "Плагин Мастер ⇒ Пользователь (v2)" и открываем Редактор разрешённых действий.
В открывшемся окне прописываем конфигурацию вида: allowMultipleInstancesWizards=2
Где allowMultipleInstancesWizards - ключевое слово, а после знака равно = номер мастера обслуживания, в котором необходимо включить режим мультимастера. В данном примере 2 - Твой верный помощник.
Сохраняем изменения. Открываем Пуск → Мастер и кликаем "Твой верный помощник".
Появится панель с номером созданного процесса и кнопкой [+].
Готовые состояния
Шаг просмотра связных процессов объекта
Назначение: Просмотр связных процессов объекта
Возможности:
-
Просмотр связных процессов контрагента, договора либо единого договора.
-
Динамическое название (Добавляет название объекта в конец названия состояния).
-
Конфигурация установки стандартных значений фильтров.
Конфигурация
Имя класса: ru.bgcrm.plugin.wizard.state.process.LinkedProcessViewState
JSP: /WEB-INF/jspf/user/process/process/linked_process_list_autostart.jsp
# Тип сущности, к которой необходимо привязать процесс
# Обязателен
# Возможные варианты:
# customer - контрагент
# bgbilling-commonContract - единый договор
# contract - договор биллинга
linkedObjectType=contract
# Фильтрация по типу процесса
# Возможно указание только 1 типа процесса для фильтрации
# По-умолчанию, фильтрация отсутствует
filters.default.typeId=
# Фильтрация по дате создания процесса
# Варианты:
# - current (Показывать открытые процессы за сегодняшнюю дату)
# - empty (Не фильтровать по дате открытия)
# По-умолчанию empty
filters.default.createDate=empty
# Фильтрация по дате закрытия процесса
# Варианты:
# - current (Показывать закрытые процессы за сегодняшнюю дату)
# - empty (Не фильтровать по дате закрытия)
# По-умолчанию empty
filters.default.closeDate=empty
# Фильтрация по группе типов процесса
# Возможно указание только 1 группы типов
# По-умолчанию, фильтрация отсутствует
filters.default.typeGroupId=
# Фильтрация по открытым/закрытым процессам
# 1 - показывать только закрытые процессы
# 0 - показывать только открытые процессы
# По-умолчанию, фильтрация отсутствует
filters.default.closed=