Мастер создания процесса

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

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

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

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

Дополнительные параметры:

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

Внешний вид:

создание контрагента

Шаг поиска/создания контрагента для привязки к процессу

Значение <class> - ru.bgcrm.model.process.wizard.FindOrCreateCustomerStep

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

Значение <class> - ru.bgcrm.model.process.wizard.SetDescriptionStep

Внешний вид:

добавление описания

Шаги заполнения параметров.

Значение <class> - ru.bgcrm.model.process.wizard.FillParamsStep

Дополнительные параметры:

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

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

  • Скрытие параметра

Внешний вид:

заполнение параметров

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

Значение <class> - ru.bgcrm.model.process.wizard.SetExecutorsStep

Внешний вид:

выбор исполнителей

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

Значение <class> - ru.bgcrm.model.process.wizard.SetStatusStep

Внешний вид:

смена статуса процесса

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

Значение <class> - ru.bgcrm.model.process.wizard.ContinueStep

Дополнительные параметры:

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

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

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

Шаг выбора субдоговоров

Значение <class> - ru.bgcrm.plugin.ufanet.model.process.wizard.ChooseSubContractStep

Шаг формирования документов

Значение <class> - ru.bgcrm.plugin.ufanet.wizard.presentation.DocumentGenerationStep

Шаг создания связанного процесса

Значение <class> - bgcrm.plugin.ufanet.wizard.multiProcess.CreateLinkedProcessStep

Шаг редактирования параметров связанного процесса

Значение <class> - ru.bgcrm.plugin.ufanet.wizard.multiProcess.ParamEditorStep

Шаг смены статуса привязанного процесса

Значение <class> - ru.bgcrm.plugin.ufanet.wizard.multiProcess.SetStatusStep

Шаг создания / привязки единого договора

Значение <class> - ru.bgcrm.plugin.ufanet.wizard.presentation.MultiProcessLinkCommonContractStep

Шаг поиска адреса для мастера процесса

Значение <class> - ru.bgcrm.model.process.wizard.address.SearchAddressStep

Шаг смены статуса

Значение <class> - ru.bgcrm.model.process.wizard.StatusPickerStep

Шаг привязки субдоговоров

Значение <class> - ru.bgcrm.plugin.ufanet.model.process.wizard.ChooseSubContractStep

Шаг вывода сообщения

Значение <class> - ru.bgcrm.plugin.ufanet.model.process.wizard.MessageStep

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

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=90,1975
#
createWizard.createStep.{@inc:cnt}.class=ru.bgcrm.model.process.wizard.
SetDescriptionStep
#
createWizard.createStep.{@inc:cnt}.class=ru.bgcrm.model.process.wizard.
SetExecutorsStep

Результат:

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

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

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