【问题标题】:MS Project Export to XMLMS 项目导出到 XML
【发布时间】:2016-07-12 03:01:42
【问题描述】:

我有一个带有单独资源池的 MS 项目文件。

资源池文件中有5个用户(User1-User5,唯一ID为1-5)。

例如,我将 User2 和 User4 分配给任务。 like on the screen

当我尝试将 MS 项目导出到 xml 文件时,它会返回错误的资源 UID。它为 User2 返回“1”而不是“2”,为 User4 返回“2”而不是“4”,就像在资源池中定义的 UID。

<Resource>
        <UID>1</UID>
        <ID>1</ID>
        <Name>User2</Name>
        <Type>1</Type>
        ...
</Resource>
<Resource>
        <UID>2</UID>
        <ID>2</ID>
        <Name>User4</Name>
        <Type>1</Type>
        ...
</Resource>

有人可以帮我在 xml 导出中获取正确的 UID 吗?

【问题讨论】:

    标签: xml ms-project


    【解决方案1】:

    我在这里为您提供多种选择。其他人可能有更清洁的方法,不确定。

    首先,资源的 UID 是在您正在处理的 .MPP 文件中定义的。它们在全球范围内并不是独一无二的。池文件中的 UID 可能与从中提取的项目不同。顺便说一句,我刚刚扫描了可用字段,也没有看到池的资源 UID。

    这是一个解决方法,使用此示例强制它们相同。

    在您的 Project.mpp 中执行以下操作:

    • 删除资源 User2 和 User4 并关闭 ProjectRes.mpp,以确保安全。您需要在记录任何实际值之前清除这些内容,否则会变得更深。
    • 保存并关闭它以确保更改已提交
    • 重新打开Project.mpp,让它打开资源池(ProjectRes.mpp)
    • 检查以确保资源已消失
    • 然后按照资源池中出现的完全相同的顺序将资源分配给任务。很重要。 (首先执行 User1 并确保它被分配了一个 UID,如果没有再次尝试删除*)

    *如果资源 UID “卡住”,您可能必须将任务复制并粘贴到具有正确预构建资源池的新 .MPP 中。这可能很棘手,并且需要根据我的经验进行一些试验和错误。

    重申一下,UID 是按顺序分配的,并且仅对您正在使用的 .mpp 是唯一的。使用 Project Server/PWA/Project Online 也是如此。服务器资源 UID 与 .MPP 资源 UID 不同步。

    综上所述,您可能需要重新考虑使用 UID 作为 XML 导出目标的键。我以前使用过“智能”资源名称,也很难管理。您正在使用 User1、User2、User3。也许 Dev001、Mgr004 之类的......

    您可以在文本或数字字段中硬编码自己的全局 UID。

    如果这不是一个选项,您还可以使用宏或公式从资源池文件中提取 UID 并将其放入文本或数字列中。我得花一些时间来整理那个代码。

    当然,自定义字段必须包含在 XML 导出映射中。

    希望对您有所帮助。 -jw

    【讨论】:

    • 顺便说一句 - 感谢屏幕截图的链接,非常有帮助!
    • 感谢您的澄清
    猜你喜欢
    • 2012-01-07
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 2019-12-06
    • 1970-01-01
    • 1970-01-01
    • 2013-06-08
    • 1970-01-01
    相关资源
    最近更新 更多