Создание дочерней карточки задания

Пример создания дочернего задания связанного с карточкой документа:
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 Сохраняем изменения.