作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经基于来自 MPXJ 库分发的 MpxjCreate 示例创建了一个应用程序。我创建了几个任务,其中一些带有子任务,并使用 Task.setStart()
/Task.setFinish()
用于设置任务开始/完成日期。在我使用 MSPDIWriter
写入结果文件后, 在 <Task>
中生成的 xml 文件中可以看到以下标签标签:
<Start>2013-01-01T00:00:00</Start>
<Finish>2016-12-31T00:00:00</Finish>
但是当我使用 MS Project 2007 打开文件时,它似乎忽略给定值并使用 <StartDate>
来自 <Project>
的值标记,这会导致一系列持续时间为 1 天的任务。
请告知,使用<Task>-><Start>/<Finish>
应该怎么做没有任何“智能”计算的 MS Project 任务开始/结束日期的标记值?
最佳答案
自 2003 版本以来,我一直在为 MS-Project XML 文件导入而苦恼。
现在我必须处理 MSP 2013 问题(为什么是 Microsoft?为什么这么不可预测?)
在我看来,需要一些基本信息才能正确导入所需的值。
这是我的做法:
task.setEstimated(false); //to get rid of the percentage in the duration value
task.setPercentageComplete(50d); //50% for example
task.setPercentageWorkComplete(50d);
task.setPhysicalPercentComplete(50d);
task.setStart(<start date>);
task.setFinish(<finish date>);
task.setActualStart(<actual start date>);
task.setActualFinish(<actual finish date>); //only necessary if the task is 100%
task.setDuration(Duration.getInstance(4d, TimeUnit.DAYS)); //4d for example
task.setActualDuration(Duration.getInstance(2d, TimeUnit.DAYS));
double remainingDuration = task.getDuration().getDuration() - task.getActualDuration().getDuration();
task.setRemainingDuration(Duration.getInstance(remainingDuration, task.getDuration().getUnits()));
//if your task has resources assigned, you should set the work values
//suppose you have 2 resources assigned with 3 units each
double work = task.getDuration().getDuration() * 6;
task.setWork(Duration.getInstance(work, task.getDuration().getUnits()));
task.setRegularWork(work);
double actualWork = work * task.getPercentageComplete() / 100d;
task.setActualWork(Duration.getInstance(actualWork, task.getWork().getUnits()));
double remaining = task.getWork().getDuration() - task.getActualWork().getDuration();
task.setRemainingWork(Duration.getInstance(remaining, task.getWork().getUnits()));
好吧,我相信这已经足够了。
关于java - 导入由 MPXJ 创建的 MSPDI 后,MS Project 显示不正确的开始和完成日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16807627/
我已经基于来自 MPXJ 库分发的 MpxjCreate 示例创建了一个应用程序。我创建了几个任务,其中一些带有子任务,并使用 Task.setStart()/Task.setFinish()用于设置
我是一名优秀的程序员,十分优秀!