<< Click to Display Table of Contents >> Практические рекомендации > Настройка бизнес-процессов Как настроить выбор варианта процесса при отправке задачи
|
![]() ![]() |
Ситуация
Предположим, для задачи создано несколько подходящих по критериям вариантов процессов. На форме карточки нет поля Процесс, поэтому инициатор до отправки задачи не может контролировать выбранный вариант процесса или указывать другой.
Как настроить выбор варианта процесса при отправке задачи?
Решение
Чтобы пользователь мог выбирать подходящий по критериям вариант процесса, вынесите на форму карточки задачи поле Процесс (ProcessKind). Для этого:
1.Откройте карточку представления формы для нужного типа задачи и перейдите на вкладку «Форма».
2.Добавьте на форму элемент с типом Простой контрол.
3.На панели настроек в выпадающем списке Связанное свойство выберите свойство Процесс.
4.Сохраните карточку представления формы.
Чтобы при добавлении вложения в задачу подходящий вариант процесса автоматически подбирался по критериям, в среде разработки в событии «Добавление вложения» допишите код:
public virtual void DocumentGroupAdded(Sungero.Workflow.Interfaces.AttachmentAddedEventArgs e)
…
// Если вариант процесса не заполнен или выбран неподходящий,
// заполнить автоматически.
var processKinds = Sungero.Workflow.ProcessKinds.GetAllMatches(_obj);
if (_obj.ProcessKinds == null || !processKinds.Contains(_obj.ProcessKind))
{
if (processKinds.Count() == 1)
_obj.ProcessKind = processKinds.First();
else
{
var topPriority = processKinds.Max(p => p.Priority);
var processKindsTop = processKinds.Where(p => p.Priority == topPriority);
if (processKindsTop.Count() == 1)
_obj.ProcessKind = processKindsTop.First();
}
}
© Компания Directum, 2024 |