Мастера создания позволяют не разрешать создать процесс без заполнения обязательных полей. Создание процесса мастером может быть инициировано в очереди процессов либо в списке привязанных к процессу процессов. После определения типа процесса мастер поочерёдно выполнения указанных в конфигурации шагов. После выполнения всех шагов процесс создаётся окончательно и доступен для работы.
Шаги мастера настраиваются в конфигурации типа процесса в виде одной или нескольких инструкций вида:
createWizard.createStep.<id>.title=<title> createWizard.createStep.<id>.class=<class>
Где:
- <id> - последовательный порядковый номер правила;
- <title> - наименование шага (необязательно);
- <class> - Java класс с шагом.
Класс шага определяет его логику. Для класса возможны дополнительные параметры, указываются в виде: createWizard.createStep.<id>.<param>=<value>. Доступные в данный момент шаги описаны в таблице.
Типы шагов
Значение <class> | Описание / доп. параметры | Внешний вид |
---|---|---|
ru.bgcrm.model.process.wizard.LinkCustomerStep | Привязка существующего либо создание и привязка нового контрагента к создаваемому процессу. В случае отмены мастера контрагент останется в БД.
| |
ru.bgcrm.model.process.wizard.SetDescriptionStep | Установка описания в создаваемый процесс. | |
ru.bgcrm.model.process.wizard.FillParamsStep | Параметры процесса.
| |
ru.bgcrm.model.process.wizard.SetExecutorsStep | Установка исполнителей процесса. | |
ru.bgcrm.model.process.wizard.SetStatusStep | Изменение статуса процесса. | |
ru.bgcrm.model.process.wizard.ContinueStep | Продолжение работы мастера либо остановка.
|
Недокументированные шаги
В настоящий момент в системе присутствуют недокументированные шаги мастера плагина BGBilling:
- поиск и создание договоров по ФИО, адресу;
- вывод информации по договорам.
При наличии интереса к ним просьба сообщить разработчикам для дополнения документации.
Пример конфигурации мастера.
cnt=0 createWizard.createStep.{@inc:cnt}.title=Контрагент createWizard.createStep.{@cnt}.class=ru.bgcrm.model.process.wizard.LinkCustomerStep # createWizard.createStep.{@inc:cnt}.class=ru.bgcrm.model.process.wizard.FillParamsStep createWizard.createStep.{@cnt}.title=Адрес установки / конт. лицо createWizard.createStep.{@cnt}.parameterIds=16,49 # createWizard.createStep.{@inc:cnt}.class=ru.bgcrm.model.process.wizard.SetDescriptionStep # createWizard.createStep.{@inc:cnt}.class=ru.bgcrm.model.process.wizard.SetExecutorsStep
И снимок экрана с заполненным мастером.
Если сессия пользователя была аварийно прервана до окончания заполнения мастера - при следующей авторизации карточка недосозданного процесса всплывёт в интерфейсе снова.
Помимо функции создания мастер может предоставлять функции упрощённого редактирования для мобильного интерфейса. Мастер редактирования для типа процесса задаётся с помощью префикса конфигурации: createWizard.step
Мастеры не работают при создании процессов в обработке сообщения.