Сценарий добавления комментариев к задаче
В данной статье рассмотрен способ автоматического добавления комментариев к задачам при помощи сценариев.
Рассмотрим два случая:
- добавление комментария к произвольной задаче;
- добавление комментария к задаче текущего бизнес-процесса .
Добавление комментария к произвольной задаче
Пусть ранее была создана задача. В примере показан поиск задач по некоторому параметру (например, по id).
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
1 2 | var task = PublicAPI.Portal.TaskBase.Task.LoadOrNull(380); // Загружаем задачу по идентификатору PublicAPI.Portal.TaskBase.Task.AddComment(task, "Комментарий к задаче" ); //Добавляем комментарий к задаче |
Пример сценария без использования PublicAPI
Пространства имен:
1 | using EleWise.ELMA.Tasks.Managers; |
Текст сценария:
1 2 3 | var instance = TaskBaseManager.Instance; var task = instance.LoadOrNull(380); //Загружаем задачу по идентификатору instance.AddComment(task, "Комментарий к задаче" ); //Добавляем комментарий к задаче |
Добавление комментария к задаче текущего бизнес-процесса
Рассмотрим добавление комментария на примере следующего бизнес-процесса (см. рисунок ниже). В процессе есть шлюз: по первой ветке выполняется пользовательская задача Задача 2, вторая ветка заканчивается сценарием. Если вторая ветка успела выполниться раньше, чем была выполнена пользовательская задача Задача 2, то сценарий в конце второй ветки добавляет комментарий к задаче Задача 2. Графическая модель данной задачи выглядит следующим образом:
Пример сценария с использованием PublicAPI
Примечание
Актуальная документация по PublicAPI доступна по ссылке.
Внимание!
Сценарий, указанный ниже, актуален для версий системы ELMA до 3.12.1 включительно.
Пространство имен:
1 | using EleWise.ELMA.Tasks.Models; |
Текст сценария:
1 2 3 4 5 6 7 8 9 10 11 12 | var nz = PublicAPI.Portal.TaskBase.Filter().Subject(context.X) // поиск задачи по названию(теме) .Statuses( new List<TaskBaseStatus> { PublicAPI.Enums.Tasks.TaskBaseStatus.NewOrder, PublicAPI.Enums.Tasks.TaskBaseStatus.Read, PublicAPI.Enums.Tasks.TaskBaseStatus.InProgress }) //проверка статуса задачи .Find(); foreach (var task in nz) { PublicAPI.Portal.TaskBase.AddComment(task, context.Txt); } |
Пример сценария без использования PublicAPI
Пространства имен:
1 2 3 | using EleWise.ELMA.Tasks.Models; using EleWise.ELMA.Model.Services; using EleWise.ELMA.Tasks.Managers; |
Текст сценария:
1 2 3 4 5 6 7 8 9 10 11 12 13 | var instance = TaskBaseManager.Instance; var zdch = InterfaceActivator.Create<TaskBaseFilter>(); //создаем фильтр по задачам zdch.Subject = "Задача 1" ; // поиск задачи по названию(теме) zdch.Statuses = new List<TaskBaseStatus> { TaskBaseStatus.NewOrder, TaskBaseStatus.Read, TaskBaseStatus.InProgress }; //проверка статуса задачи foreach (var task in instance.Find(zdch, null )) { instance.AddComment(task, "Комментарий к задаче" ); //Добавляем комментарий к задаче } |