Create – создать простую задачу
<< Click to Display Table of Contents >> Объектная модель > Workflow – управление бизнес-процессами > SimpleTask – простые задачи Create – создать простую задачу |
Метод используется для создания простой задачи.
Перегрузки
Create(string subject, params IRecipient[] performers) |
Создать простую задачу и указать тему и исполнителей. Исполнители перечисляются через запятую |
Create(string subject, Nullable <Enumeration> routeType, params IRecipient[] performers) |
Создать простую задачу и указать тему, тип маршрутизации, исполнителей. Исполнители перечисляются через запятую |
Create(string subject, DateTime deadline, params IRecipient[] performers) |
Создать простую задачу и указать тему, срок исполнения, исполнителей. Исполнители перечисляются через запятую |
Create(string subject, IEnumerable <IRecipient> performers, IEnumerable <IEntity> attachments) |
Создать простую задачу, указать тему, исполнителей, добавить вложения. Исполнители и вложения указываются списком IEnumerable |
Create(string subject, DateTime deadline, IEnumerable <IRecipient> performers, IEnumerable <IEntity> attachments) |
Создать простую задачу, указать тему, срок исполнения, исполнителей, добавить вложения. Исполнители и вложения указываются списком IEnumerable |
Создать сущность |
Синтаксис
C# |
public static ISimpleTask Create(string subject, Nullable <Enumeration> routeType, params IRecipient[] performers); public static ISimpleTask Create(string subject, DateTime deadline, IEnumerable <IRecipient> performers, IEnumerable <IEntity> attachments); |
Параметры
subject – тема;
routeType – тип маршрутизации;
deadline – срок исполнения;
performers – исполнители;
attachments – вложения.
Возвращаемое значение
Новая задача.
Пример 1. Создание простой задачи для двух пользователей
// Получить исполнителей по задаче: текущего пользователя и произвольного пользователя с ИД=15.
var performer1 = Sungero.Company.Employees.Current;
var performer2 = Sungero.Company.Employees.Get(15);
// Создать простую задачу со сроком – следующий рабочий день.
var task = Sungero.Workflow.SimpleTasks.Create ("Тема задачи",
Calendar.NextWorkingDay(Calendar.Today), performer1, performer2);
// Заполнить текст задачи.
task.ActiveText = "Текст задачи";
// Стартовать задачу.
task.Start();
Пример 2. Создание задач на исполнение работ по контрольным точкам договоров
// Создать задачи по завершению контрольных точек договоров.
// milestone – контрольная точка.
foreach (var milestone in contract.Milestones)
{
// Получить договоры и добавить их в список вложений.
var attachments = new List<IContractualDocument>() { contract };
if (SupAgreements.Is(contract))
attachments.Add(ContractualDocuments.As(contract.LeadingDocument));
// Вычислить сроки контрольных точек по договору.
// Если срок контрольной меньше текущего дня, то добавить еще 1 рабочий день.
var milestoneDeadline = milestone.Deadline.Value.Date < Calendar.GetUserToday(milestone.Performer) ? Calendar.Now.AddWorkingDays(milestone.Performer, 1) : milestone.Deadline.Value;
// Создать простые задачи со вложенными договорами.
// Сроки задач равны контрольным точкам договора. Исполнители – массив ответственных за контрольные точки.
var task = Workflow.SimpleTasks.Create("Выполните работы по договору", milestoneDeadline, new List<IUser>() { milestone.Performer }, attachments);
// Заполнить текст задачи.
task.ActiveText = "Текст задачи";
// Сохранить карточку задачи.
task.Save();
// Стартовать задачу.
task.Start();
milestone.Task = task;
}
Пример 3. Создание простой задачи с несколькими этапами разных типов
// Создать простую задачу.
var task = Sungero.Workflow.SimpleTasks.Create();
// Добавить новый этап в задачу.
var step1 = task.RouteSteps.AddNew();
// Задать тип этапа – уведомление.
step1.AssignmentType = Workflow.SimpleTask.AssignmentType.Notice;
step1.Performer = . . . // Задать исполнителя по этапу.
step1.Deadline = . . . // Задать срок по этапу.
© Компания Directum, 2024 |