Мастер создания позволяет не разрешать создать процесс без заполнения обязательных полей. Создание процесса мастером может быть инициировано в очереди процессов либо в списке привязанных к процессу процессов. После определения типа процесса мастер поочерёдно выполнения указанных в конфигурации шагов. После выполнения всех шагов процесс создаётся окончательно и доступен для работы.

Шаги мастера настраиваются в конфигурации типа процесса в виде одной или нескольких инструкций вида:

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.AddressInfoStep

Отображение информации по указанному в процессе адресу (комментарий дома).

  • addressParamId - код параметра.

ru.bgcrm.model.process.wizard.ContinueStep

Продолжение работы мастера либо остановка.

  • parameterId - код текстового параметра процесса, в который записывается 1 при прохождении шага;

  • continuedText - текст, выводимый, когда шаг был пройден;

  • continueText - текст подтверждения прохождения шага.

ru.bgcrm.model.process.wizard.FillParamsStep

proc wiz fp

Параметры процесса.

  • parameterIds - обязательный, коды параметров через запятую;

  • checkParamIds - через запятую коды параметров обязательные для заполнения, если не указано - должен быть заполнен хотя бы один.

ru.bgcrm.model.process.wizard.JexlStep

Выполнение произвольного JEXL скрипта.

После выполнения скрипт возвращает Map с установленными полями:

  • filled - java.lang.Boolean, шаг заполнен;

  • message - java.lang.String, сообщение для вывода в интерфейс.

ru.bgcrm.model.process.wizard.LinkCustomerStep

proc wiz clink

Привязка существующего либо создание и привязка нового контрагента к создаваемому процессу. В случае отмены мастера контрагент останется в БД.

  • paramGroupId - группа параметров создаваемого контрагента.

ru.bgcrm.model.process.wizard.SetDescriptionStep

proc wiz descr

Установка описания в создаваемый процесс.

ru.bgcrm.model.process.wizard.SetExecutorsStep

proc wiz se

Установка исполнителей процесса.

ru.bgcrm.model.process.wizard.SetStatusStep

proc wiz st

Изменение статуса процесса.

Шаги мастера плагина BGBilling

<class> без пакета ru.bgcrm.plugin.bgbilling.model.process.wizard и внешний вид Описание и параметры

CreateContractsStep

Создание привязанного к процессу договора.

  • типы договора должны быть указаны в конфигурации шага аналогично конфигурации модуля с префиксом contractType.;

  • showContractTitle - 1, отображение наименования договора.

FillParamsStep

Заполнение параметров созданного и привязанного к процессу договора.

  • parameterIds - коды параметров договора через запятую;

  • checkParamIds - коды параметров договора через запятую, которые должны быть заполнены для прохождения шага.

FindContractStep

Поиск и привязка договора.

  • billingId - идентификатор биллинга.

SetContractTariffStep

Установка тарифа у привязанного договора.

ShowContractsByAddrParamStep

Отображение договоров по адресу процесса.

  • конфигурация биллинга с префиксом billing.;

  • addressParamId - код адресного параметра процесса.

Примеры мастера

Пример конфигурации мастера.

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

И снимок экрана с заполненным мастером.

proc wiz screen

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

Помимо функции создания мастер может предоставлять функции упрощённого редактирования для мобильного интерфейса. Мастер редактирования для типа процесса задаётся с помощью префикса конфигурации: createWizard.step

Мастерa не работают при создании процессов в обработке сообщения.