Я пытаюсь добавить бюджетные задания в нулевую задачу онлайн-проекта проекта с использованием CSOM. Вот фрагмент кода. Я также попробовал это с помощью службы отдыха, чтобы добавить назначение (см. Код powershell ниже). Ни одна из них не работает. Интересно, что код powershell, кажется, работает нормально, но когда я проверяю проект, в нулевой задаче нет назначений. Кто-нибудь, кроме использования объектной модели клиента MSProject.Interop, нашел способ установить назначения в нулевой задаче онлайн-проекта проекта?
//Load project with SummaryTaskId
prjContext2.Load(newPublishProj, p => p, p => p.SummaryTaskId);
prjContext2.ExecuteQuery();
DraftAssignment assignment1 = draft.Assignments.Add(new AssignmentCreationInformation()
{
ResourceId = guidResourceId,
TaskId = newPublishProj.SummaryTaskId,
Id = Guid.NewGuid()
});
assignment1.BudgetedWork = budgetWork;
draft.Update();
Powershell code
$body = "{
'parameters': {
'Start': '$assignStart',
'Finish': '$assignFinish',
'ResourceId': '$resourceid',
'TaskId': '$taskid',
'Notes': ''
}
}"
Post-ReSTRequest $toSiteUrl "ProjectServer/Projects('$projectid')/Draft/Assignments/Add" $body