<< Click to Display Table of Contents >> Разработка > Примеры разработки > Задачи и задания Как создать версию схемы задачи |
Ситуация
Предположим, в решении создан тип задачи. Решение уже опубликовано в продуктивную систему, и сотрудники создавали задачи нового типа. В схему задачи необходимо внести изменения:
•удалить блок Мониторинг, в котором при наступлении определенного события создавалось уведомление;
•логику создания уведомления перенести в обработчик блока Задание.
Решение
1.В редакторе типа задачи перейдите в узел «Схема» и создайте версию.
2.Удалите со схемы блок Мониторинг. Для этого выделите блок и нажмите на клавишу delete. Вместе с блоком удалятся стрелки перехода. Добавьте стрелки между оставшимися блоками.
3.Выделите блок Задание на схеме и на панели свойств рядом с событием Выполнение задания перейдите по ссылке Перейти к коду.
4.Добавьте логику создания уведомления в обработчик события. С помощью условия укажите, что добавленный код относится ко второй версии схемы:
public virtual void CompleteAssignment2(Sungero.Docflow.
IFreeApprovalAssignment assignment,
Sungero.Docflow.Server.FreeApprovalAssignmentArguments e)
{
// Код обработчика события блока «Задание».
// ...
// Код для создания уведомления.
// V2- вторая версия схемы, в которой используется данный код.
if (assignment.Result == Sungero.Docflow.FreeApprovalAssignment.
Result.ForRework && _obj.ReceiveNotice == true
&& _obj.GetStartedSchemeVersion() == LayerSchemeVersions.V2 &&
assignmentsInWork.Any())
{
/// ...
}
}
Примечание. Код обработчика события блока Мониторинг удалять не нужно, так как ранее стартованные задачи будут выполняться по первой версии схемы, в которой используется код обработчика.
5.Сохраните изменения.
6.Опубликуйте разработку, проверьте изменения и перенести в продуктивную систему.
В результате:
•новые и рестартованные задачи будут выполняться по второй версии схемы;
•первая версия останется для поддержки работоспособности существующих стартованных задач.
© Компания Directum, 2024 |