2016-03-24 103 views
0

我有一個帶有單獨資源池的MS Project文件。MS Project導出爲XML

資源池文件中有5個用戶(User1-User5,唯一ID爲1-5)。

例如,我將User2和User4分配給任務。 like on the screen

當我嘗試將MS Project導出到xml文件時,它會爲資源返回錯誤的UID。它在User2中返回「1」,而在User4中返回「2」和「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嗎?

回答

0

我在這裏有幾種選擇。其他人可能有一個更清潔的方法,不確定。

首先,資源的UID是在您正在處理的.MPP文件中定義的。它們並非全球唯一。池文件中的UID可能與從中拉出的項目不同。順便說一句,我只是掃描可用的字段,我沒有看到池的資源UID。

下面是使用此示例強制它們相同的解決方法。

在你Project.mpp做到這一點:

  • 刪除資源用戶2 &用戶4與ProjectRes.mpp關閉,以防萬一。在任何實際錄製之前,你需要讓這些消失,否則這一切就會變得更深。
  • 保存&關閉它,以確保在變化上犯下
  • 重新打開Project.mpp,讓它打開資源庫(ProjectRes.mpp)
  • 檢查,以確保資源都不見了
  • 然後按照與資源池中顯示的順序完全相同的順序將資源分配給任務。很重要。 (做用戶1第一,並確保它被分配UID之一,如果不是重試*的刪除)

*事件中的資源的UID「被困」你可能要複製&粘貼任務到一個新的.MPP具有適當的預建資源池。這可能是棘手的&需要一些試用&錯誤在我的經驗。

要重申它,UID將按順序分配,並且只對您正在使用的.mpp唯一。使用Project Server/PWA/Project Online也是如此。服務器資源UID與.MPP資源UID不同步。所有這一切,你可能想重新考慮將UID用作任何XML導出目標的關鍵字。我以前使用過「智能」資源名稱,也很難管理。您正在使用User1,User2,User3。也許Dev001,Mgr4,類似的東西...

你可以硬編碼自己的全球UID在文本或數字字段。

如果這不是一個選項,您還可以使用從資源池文件中提取UID並將其放入文本或編號列的宏或公式。我不得不花費一些時間來整理那個代碼。

當然,自定義字段必須包含在XML導出映射中。

希望有所幫助。 -jw

+0

順便說一句 - 感謝您的屏幕截圖鏈接,非常有幫助! – JackW327

+0

謝謝您的澄清 –

+0

歡迎您! – JackW327