【发布时间】:2019-09-03 09:59:51
【问题描述】:
我们使用的是 C# 版本的 MPXJ,但我们不是检查现有的项目文件,而是使用它纯粹从代码(从第三方系统中提取数据)生成一个新文件,以便通过 @987654321 导入到项目中@。
目标是让在其他系统中报告为已完成的任务显示为 100% 完成,并且当 XML 加载到 Project 中时,它们旁边的 ✔ 复选标记会显示在甘特视图中。仅当分配给任务的总持续时间为零天时,这才按预期工作;对于 Project 打开任务的完成百分比设置为 0% 的任何其他持续时间。
我们的开发人员不是项目人员,因此我们不清楚哪些属性会影响此行为:
Task childTask = parent.AddTask();
childTask.Name = sourceItem.Title;
Duration duration = Duration.getInstance(sourceItem.Days, TimeUnit.DAYS);
childTask.PercentageComplete = new java.lang.Integer(childItem.PercentageComplete);
childTask.PercentageWorkComplete = childTask.PercentageComplete;
ResourceAssignment assignment = childTask.AddResourceAssignment(resource);
assignment.Work = duration;
assignment.RemainingWork = duration;
assignment.percentageWorkComplete = childTask.PercentageComplete;
childTask.EffortDriven = false;
childTask.Priority = childItem.Priority;
childTask.Duration = duration;
childTask.BaselineDuration = duration;
if (childItem.PercentComplete == 100)
{
childTask.RemainingWork = Duration.getInstance(0, TimeUnit.DAYS);
}
【问题讨论】: