【问题标题】:How to correctly import task durations from xml to MS Project 2013?如何正确地将任务持续时间从 xml 导入到 MS Project 2013?
【发布时间】:2018-12-02 08:29:37
【问题描述】:

谁能给我一个可以导入到 MS Project 中的 XML 文件的示例,该文件将包含在一段时间内计划的一项任务和一项资源?我目前有这个下面的 XML,MS Project 导入它没有任何错误,但日程变得一团糟。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Project xmlns="http://schemas.microsoft.com/project">
     <SaveVersion>14</SaveVersion>
     <Name>Projekt1.xml</Name>
     <ScheduleFromStart>1</ScheduleFromStart>
     <Tasks>
          <Task>
               <UID>1</UID>
               <ID>1</ID>
               <Name>Test task</Name>
               <Active>1</Active>
               <Manual>0</Manual>
               <Type>0</Type>
               <Start>2018-06-21T09:00:00</Start>
               <Finish>2018-07-06T18:00:00</Finish>
          </Task>
     </Tasks>
     <Resources>
          <Resource>
              <UID>0</UID>
              <ID>0</ID>
              <Type>1</Type>
          </Resource>
          <Resource>
              <UID>1</UID>
              <ID>1</ID>
              <Name>Test resource</Name>
              <Type>1</Type>
          </Resource>
      </Resources>
      <Assignments>
          <Assignment>
              <UID>2</UID>
              <TaskUID>1</TaskUID>
              <ResourceUID>1</ResourceUID>
          </Assignment>
     </Assignments>
</Project>

当我将它导入 MS Project 时,它不会从任务中导入开始和完成日期,并将持续时间设置为“0 天?”。

这是为什么呢?是否缺少某些内容(可能是日历的定义或任务或资源分配的一些附加属性?)

非常感谢您的帮助!

【问题讨论】:

    标签: xml import ms-project


    【解决方案1】:

    这是一个适合您的最小工作文件:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <Project xmlns="http://schemas.microsoft.com/project">
        <ScheduleFromStart>1</ScheduleFromStart>
        <StartDate>2018-06-21T08:00:00</StartDate>
        <ProjectExternallyEdited>0</ProjectExternallyEdited>
    
        <Tasks>
            <Task>
                <UID>1</UID>
                <ID>1</ID>
                <Name>Test task</Name>
                <IsNull>0</IsNull>
                <OutlineLevel>1</OutlineLevel>
                <Start>2018-06-21T08:00:00</Start>
                <Finish>2018-07-06T17:00:00</Finish>
                <Duration>PT96H0M0S</Duration>
                <DurationFormat>7</DurationFormat>
                <Work>PT96H0M0S</Work>
                <RemainingWork>PT96H0M0S</RemainingWork>
            </Task>
        </Tasks>
    
        <Resources>
            <Resource>
                <UID>1</UID>
                <ID>1</ID>
                <Name>Test Resource</Name>
                <Type>1</Type>
            </Resource>
        </Resources>
    
        <Assignments>
            <Assignment>
                <TaskUID>1</TaskUID>
                <ResourceUID>1</ResourceUID>
                <RemainingWork>PT96H0M0S</RemainingWork>
                <Work>PT96H0M0S</Work>
            </Assignment>
        </Assignments>
    </Project>
    

    MS Project 可以非常具体地说明它希望在 XML 文件中看到什么以获得您想要的结果。需要一些奇怪的设置(例如,ProjectExternallyEditedIsNull 等),但主要区别在于我已经指定了任务和资源分配的工作量。

    如果您以编程方式生成此文件,您可能会发现 MPXJ 很有帮助。

    【讨论】:

    • 您好乔恩,非常感谢您的回答!使用您的示例,它工作正常,但由于某种原因,当我将它用于具有不同预定日期的多个任务时,Project 将所有开始日期更改为项目 StartDate。我试图删除 ScheduleFromStart 元素并摆弄数据,但我似乎无法做到让每个任务都在不同的日期和时间开始。你有什么想法吗?
    • 我认为如果没有限制(即任务没有作为前任和继任者相互链接,资源没有平衡,并且任务没有限制日期/类型)那么默认行为是尽早安排一切。
    • 哦,好的。所以也许我需要想办法生成这些约束。感谢您的提示。还要感谢 MPXJ 链接,我知道这一点,它会有很大帮助,遗憾的是,由于我的基础架构的一些技术限制,我无法使用它,所以我不得不手动执行此操作..
    猜你喜欢
    • 1970-01-01
    • 2013-07-06
    • 2016-08-16
    • 2022-07-07
    • 1970-01-01
    • 2015-09-11
    • 2014-07-27
    • 1970-01-01
    • 2014-07-27
    相关资源
    最近更新 更多