Модуль «Бизнес-процессы» позволяет легко настроить наиболее распространенные сценарии бизнес-логики. Например, при выполнении какого-то условия в Системе машине нужно создать новую «Задача», «Сделку», отправить письмо клиенту, напоминание пользователю и т.д.
Доступ к модулю доступен только пользователю с правами «Администратор» в разделе «Настройки».
В разделе «Основная информация» указывается название «Бизнес-процесса». Например: «Создание Задачи из Сделки при вероятности больше 80%.» Далее выбирается «Объект», в котором происходит событие (см. ниже). Если клиент в ходе внедрения Системы создал свои новые «Объекты», то они также отобразятся в списке. Далее выбирается тип «События». Если нужно, чтобы бизнес-процесс сработал в момент создания нового «Объекта», то нужно выбрать «Добавление». Если при изменении «Объекта», то «Редактирование». Для активации логики бизнес-процесса необходимо поставить галочку «Активность». Если галочку не поставить, то логика обработки бизнес-процесса работать не будет.
В поле «Количество выполнений» отображается сколько раз был выполнен данный бизнес-процесс. В поле «Последний вызов» отображается время и дата последнего вызова бизнес-процесса. Данные поля необходимы для отладки бизнес-процесса, в частности проверять, выполнилось ли условие или нет.
Условия
Условия — это условия срабатывания бизнес-процесса (триггеры). При добавлении нескольких условий срабатывает логическое «И», т.е. чтобы бизнес-процесс запустился необходимо чтобы все условия выполнились.
Для удобства отладки можно включать/выключать условия (см. скрин выше).
Для добавление нового условия необходимо нажать на иконку «+».
Откроется модальное окно добавления «Условия».
Где:
Поле — поле из выбранного «Объекта» из раздела «Общая информация». В списке представлены все поля, кроме служебных. Если пользователь добавил свое собственное поле, то оно тоже отобразится в списке
Значение условия — условие срабатывания «Условия». Было — означает, что в момент сохранения карточки «Объекта» значения поле было текущим (см. ниже поле на форме), а потом стало другим. Стало — означает, что в момент сохранения «Объекта» значение было одним, а стало текущим (см. ниже поле на форме). Текущее значение — означает, что в момент сохранения карточки «Объекта» значение поля НЕ изменилось и осталось текущим (см. ниже поле на форме).
Условие — условия срабатывания «Условия». Возможны все математически условия (больше, меньше, равно, не равно и т.д.), а также специальные: «пусто» (значение поле очищено, например поле «Ответственный» стало пустым»), «не пусто» (значение поля не пустое, например, поле «Ответственный» стало заполненным); «включает» и «не включает» для полей типа множественный выбор (мультипойнтер).
Текущее значение поля — значение, которое будет участвовать в логике «Условия». В зависимости от типа поля вид поля будет меняться автоматически.
Активность — включено или выключено это условие. Дублируется с иконкой включить/выключить условие из карточки «Бизнес-процесса» (см. выше).
Действия
Действия — это последовательность действий, которые должна выполнить машина при срабатывании «Условий» выполнения бизнес-процесса. Действий может быть одно или несколько.
Для добавления нового «Действия» необходимо нажать на иконку «+».
Где:
Действие — вид события, которое вызывает Система при срабатывании условий. Список видов «Действий может расширятся клиентом самостоятельно через модуль «Конфигуратор». Например, можно добавить формы для «Сотрудников», «Ремонтов», «Инцидентов» и т.д.
Активность — включение/выключения действия (удобно на период отладки).
В зависимости от выбора «Действия» подгружается соответствующая форма. Пользователю необходимо заполнить эти поля согласно свои требованиям. Если полей будет не хватать, то их можно добавить через модуль «Конфигуратор». На форме можно указывать не все поля из объектов. Система автоматически подставляет их из родительского «Объекта» (объекта, указанного на основной карточке «Бизнес-процессов»). Например, при создании «Задачи» из «Сделки» система автоматически найдет по имени поля «Контрагент», «Контактное лицо», «E-mail», «Телефон» и вставит в соответствующие поля новой «Задачи». Важное условия: техническое название полей (на английском языке) и типы должны совпадать в двух «Объектах».
При выборе действий, связанных с отправкой писем, можно выбрать существующий шаблон письма или создать свой, используя поля «Объекта». Например, можно в тему письма и тело письма вставить поле «Имя» из «Контактного лица» из «Сделки». См. ниже.
Информация о том, как добавить свои новые «Действия» для бизнес-процессов, размещена в документации разработчика по ссылке.
Интерфейсы
Раздел «Интерфейсы» позволяет добавлять на «Формы редактирования» (карточки) объектов новые элементы взаимодействия с пользователем (кнопки, уведомления, предупреждения и т.д.). Чтобы активировать данный раздел необходимо в карточке «Бизнес-процесса» выбрать в поле «Событие» значение «Открытие» и нажать сохранить.
После чего на экране появится раздел «Интерфейсы».
При нажатии на иконку «+» откроется модальное окно в выбором «Вида интерфейса».
В зависимости от выбора изменяются форма добавления интерфейса ниже.
Добавить кнопку
Название — Название кнопки (краткое)
Стиль — визуальный стиль отображения кнопки (цвет). При необходимости можно нажать на шестерню и добавить свой стиль.
Иконка — иконка на кнопке. Выбирать нужно из готовых иконок Fontawesome по ссылке на иконке вопросик. Имя иконки нужно указывать без «fa». Пример: fa-user-circle-o
Перезагрузить страницу — если поставить флаг, то страница, где была нажата кнопка перезагрузится. Это бывает необходимо, если при нажатии кнопки изменяются данные на форме. Например, меняется статус «Контрагента». Важно: перезагрузка != нажатию на кнопку «Сохранить». Это нужно учитывать при программировании логики.
Доступ — кому кнопка из пользователей будет видна в интерфейсе.
Слева в форме представлены список действий, которые выполнит система при нажатии на кнопку. Логика работы точно такая же, как и при обработке событий в самом «Бизнес-процессе» (см. выше).
«Стрелочки» позволяют менять порядок выполнения действий.
Предупреждение
При выборе на экране пользователя появится предупреждение. Текст можно создать динамически. Также можно указать стиль предупреждения.
Всплывающее уведомление
При настройке уведомления можно использовать также шаблонизатор.
Блокировка полей
В карточках редактирования возможна блокировка полей от редактирования пользователей при определенных условиях. Для блокировки сразу нескольких полей необходимо нажать несколько раз на иконку «+».
Обязательные поля
В карточках редактирования можно назначить обязательные поля для заполнения пользователями (при определенных условиях). Для добавления сразу нескольких обязательных полей необходимо нажать несколько раз на иконку «+».
Блокировка кнопок
В карточках редактирования можно заблокировать функциональные кнопки для пользователя (при определенных условиях). Для блокировки нужно выбрать форму редактирования (обычно она называется «основная»), а также кнопки, которые необходимо заблокировать.
В списке кнопок всегда отображаются базовые кнопки: «SAVE_BTN» («Сохранить» и «Сохранить и закрыть»), «MORE_BTN» («Еще действия»).
Также в список будут добавлены функциональные кнопки, размещенные в карточке редактирования объекта. Для того, чтобы кнопка добавилась в список в модуле «Бизнес-процессы», необходимо прописать её параметр «buttonID».
Примеры:
$this->addActionPanelButtons([ "PRINT" => [ "name" => Language::getVariable("companies/repair/edit", "Print"), "params" => "target='_blank'", "link" => "/companies/" . $this->structure->owner->id . "/repair/" . $this->structure->id . "/main/", "icon" => ['before' => 'fa fa-print'], 'buttonID' => 'PRINT', ] ]);
или
$this->addMoreButtons([ [ "link" => "javascript:createDocument()", "name" => Language::getVariable("companies/repair/edit", "CreateOrder"), "icon" => ['before' => 'fa fa-plus'], 'buttonID' => 'CREATE_ORDER', ] ]);
В результате в списке добавятся 2 кнопки: PRINT и CREATE_ORDER.
Важно: Название кнопок по принятому стандарту в системе нужно писать только в верхнем регистре.
Интерфейсы, также как и «Действия», могут выполняться при определенных условиях. Например, кнопка «Отправить на согласование» может появляться только, если сумма «Сделки» больше 1 млн. руб. Или предупреждение может показываться менеджеру только, если он не заполнил поле «Как узнали о компании».