首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在文件中存储自定义(非任务)数据?

如何在文件中存储自定义(非任务)数据?
EN

Stack Overflow用户
提问于 2018-04-20 19:32:25
回答 1查看 302关注 0票数 1

我正在使用C#编写一个项目附加(VSTO),以便以编程方式生成一个挣值图(计划工作量与实际工作量与完成的实际工作),并且我希望将每周实际工作量数据存储在Microsoft 2016 (MSP)文件(.mpp)中。

在MSP中:我们不需要知道每个活动花费了多少精力。对于这个图表,我只需要每周整个项目的实际努力。我们使用不同的系统来度量计划的工作量和每个开发活动的实际工作量。

我想存储的示例数据集:Week# Hrs per week 2018-W16 900.00 2018-W17 1038.50 2018-W18 811.25

我有推导/存储“计划工作”和“实际工作已完成”的解决方案。如果我能够将这个“每周实际工作”数据存储在MSP文件中,那么最后一个部分将得到解决。

AFAIK,并避免使用XY问题:下面列出的限制使我无法使用内置MSP特性(生成图形)或数据存储(存储我的自定义数据)。

约束条件

  • 在每个项目计划中,我不能在现有任务上更改这些值:Resource NamesDurationStartFinishPredecessorSuccessor。这样做会改变计划,并招致建筑师和项目经理对我的愤怒。
  • 我们团队的实际工作时间在多个外部系统中被跟踪(例如: VSTS、Basecamp、自定义应用程序),并且不会因为支持我的需求而改变。
代码语言:javascript
复制
- Extracting this data from MSP and time-tracking systems, then manually creating dataset to generate Earned Value Chart (in Excel) takes too long, want to automate this.
- Assigning time-phased actual hours onto tasks (via `View > Task Usage`) has consequence of  MSP automatically adjusting `Duration` on that task, which violates constraint above.
- Tasks in MSP and items in external time-tracking systems are not mapped one-to-one. Manually deciding which hours go onto which MSP tasks is onerous and time-consuming. Storing hours with dates on MSP tasks suffers consequences mentioned in previous issue (auto-adjustment of `Duration`).

  • Arch & PM要求启用项目设置Auto-scheduling。允许手动调度任务,只要它们是单独手动设置的(例如:手动重写Start)。我可以在操作期间暂时禁用Auto-scheduling (通过Microsoft.Office.Interop.MSProject.Application.Calculation = PjCalculation.pjManual),只要之后恢复它。

我试过的

  • 使用Duration = 0 days创建虚拟任务,并通过View > Task Usage记录小时数。当为此任务分配任何小时时,MSP会相应地调整Duration。由于这个任务现在出现在项目计划中,我怀疑Arch/PM不会批准,因为他们是根据项目中的Duration值进行计算的。
  • 创建一个没有分配给任何任务的虚拟用户,并尝试通过View > Resource Usage为其分配小时。MSP会防止这种情况发生,直到我将用户分配给任务为止。将这个虚拟用户分配给任何任务,然后分配任何小时数据,将导致MSP自动调整Duration
  • 创建一个虚拟里程碑任务。设置字段:Duration = 0Start = last day of weekFinish = last day of week,并将每周实际时间存储在自定义字段中(以避免MSP自动调整Duration)。重复每周的项目执行。
代码语言:javascript
复制
- Technically this works, but requires user applying a filter (via `View > Data > Filter`) to avoid seeing all these extra dummy tasks (one per week) appearing within the project. I'm hoping for a better solution to store this data, or a better way to hide this data from user.

  • 检查.mpp文件。存储为二进制数据,我无法解码。尝试通过项目数据交换XML元素结构文档和MSP导出来了解数据存储的可能性:我没有看到任何我可以使用的字段不会违反上面列出的约束。
  • Google:我对custom data storage ms project的搜索返回有关使用自定义字段的信息,这还不够解决。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-20 19:57:15

听起来您的核心问题是:我想将项目级别(而不是任务/资源/外派数据)存储在.mpp flie的某个地方。看一看类似的讨论我可以在哪里保存用户输入的设置?;有关于自定义字段的扩展信息,我认为这些信息可以解决您的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49948583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档