Создание дочерней карточки задания
Пример создания дочернего задания связанного с карточкой документа:
ObjectContext context = GetContext(); (1)
Guid kindId = GetTaskKindId(); (2)
KindsCardKind taskKind = context.GetObject<KindsCardKind>(kindId); (3)
Guid parentCardId = GetParentCardId(); (4)
Document document = context.GetObject<Document>(parentCardId); (5)
TaskList taskList = document.MainInfo.Tasks; (6)
if (taskList = null) (7)
{
ObjectModel.Services.ITaskListService taskListService = context.GetService<ObjectModel.Services.ITaskListService>();
taskList = taskListService.CreateTaskList(); (8)
document.MainInfo.Tasks = taskList; (9)
}
Task parentTask = GetParentTask(); (10)
ObjectModel.Services.ITaskService taskService = context.GetService<ObjectModel.Services.ITaskService>(); (11)
Task task = TaskService.CreateChildTask(parentTask, taskKind, document, taskList); (12)
context.AcceptChanges(); (13)
1 | Получаем контекст. |
2 | Получаем идентификатор вида задания. |
3 | Получаем вид задания. |
4 | Получаем идентификатор родительской карточки. |
5 | Получаем документ. |
6 | Получаем список заданий документа. |
7 | Если список заданий в документе отсутствует — его необходимо создать. |
8 | Получаем сервис списков заданий. |
9 | Сохраняем список заданий в документ. |
10 | Получаем родительское задание, предполагается, что функция GetParentTask вернет задание, дочерним для которого будет является созданное. |
11 | Получаем сервис для работы с заданиями. |
12 | Создаем задание. |
13 | Сохраняем изменения. |