若 Visual Studio Team Foundation Server 與 Microsoft Project Server 之間的一個或多個欄位未如預期般同步,請檢閱本主題。 受影響欄位的資料類型、OnConflict 欄位的對應屬性及工作階層,皆會影響同步處理引擎更新特定欄位的方式。 若專案管理人員拒絕一個或多個提交的更新,或是未發行專案計劃,工作將無法正確地更新。 專案若未發行,巢狀的子工作項目也無法順利進入核准佇列。

本主題內容

  • 更新欄位流程的概觀

  • 拒絕提交的更新

  • 標題或工作名稱的更新

  • 開始及完成日期的更新

  • 包含時數之欄位的更新

  • 工作指派的更新

  • 多層巢狀工作項目的摘要工作、工作階層及提交

  • 挑選清單或查閱資料表之相關聯欄位的更新

更新欄位流程的概觀

如下圖所示,資料會依序從 Project Server 移至 Team Foundation Server、PWA 的執行個體中的狀態佇列、企業專案計劃,最後再移回 Project Server。 下表提供關於同步處理流程的其他注意事項,以及流程中每個步驟更新欄位的方式。

重要

當排定工作項目或工作參與同步處理後,除非從專案計劃刪除工作,否則將無法從同步處理中移除。您無法修改指派給某工作的 [發行至 Team 專案] 值,也無法變更 Team Foundation 中的 [送出至 Project Server] 欄位。此外亦無法在工作發行到 Team Foundation Server 或從中提交之後,將其變更為不同類型的工作項目。

Updates to Mapped and Mirror Fields

步驟

同步處理流程

欄位更新

Step 1

Team Foundation 同步處理:同步處理引擎會自動偵測發行到 Project Server 的新增及變更,並會將這些更新提取到 Team Foundation Server 中。

在此步驟中,只有從 Project Server 對應到 Team Foundation Server (targetToTfs 對應) 的欄位會予以更新。 同步處理引擎一律會更新鏡像欄位;但 OnConflict 屬性若是設定為 PSWin,便只會更新參考欄位。 但當工作第一次發行到 Project Server 時,無論指派給 OnConflict 屬性的值為何,都會設定參考欄位和鏡像欄位。 鏡像欄位為唯讀。

預設不會指定 [剩餘工作] 及 [已完成工作] 欄位的 OnConflict 屬性,該屬性允許 Team Foundation Server 與 Project Server 之間的對應欄位不同。 如需詳細資訊,請參閱本主題後文的包含時數之欄位的更新。

Step 2

狀態同步處理:當小組成員新增或修改已吺定要提交到 Project Server 的工作項目時,同步處理引擎會自動將更新提交到狀態佇列。

只有對應要提交到狀態佇列 (tfsToTarget 對應) 的欄位才會提交。

只有在第一次提交工作項目時,才會提交開始和結束日期的變更。 因為 Team Foundation 中的欄位對應到 Project 中的資源欄位,所以會更新 [資源剩餘工作] 和 [資源已完成工作] 等資源欄位。

Step 3

核准同步處理:當更新通過核准之後,會顯示在企業專案計劃中。 核准或拒絕通知會寫入 Team Foundation 中的工作項目歷程記錄。

Project Professional 的 Team Foundation 增益集可確保正確地同步處理 pjTask* 欄位和 pjResource* 欄位的值。 因此,您必須在安裝有 Visual Studio 2013 或 Team Explorer 2013 的用戶端電腦上,使用 Project Professional 編輯對應到 Team 專案的企業專案計劃。

Step 4

發行同步處理:當專案管理人員發行專案計劃時,更新會寫入 Project Server。

專案計劃中的所有工作的變更會在 Project Server 中更新。

如需詳細資訊,請參閱下列主題:

拒絕提交的更新

若專案管理人員拒絕對需求或工作的狀態變更,除非解決拒絕狀態,否則將不再同步處理對應的工作項目。 拒絕原因會顯示在 [歷程記錄] 欄位中,而 [Project Server] 索引標籤上的 [上次核准狀態] 欄位會指出 [已拒絕] 。 小組成員必須解決拒絕狀態,才能繼續同步處理工作項目。

您可以建立小組查詢來尋找其更新狀態為「已拒絕」的工作項目。 如需詳細資訊,請參閱監視工作項目送出並解決拒絕

標題或工作名稱的更新

Team Foundation Server 中的 [標題] 欄位和 Project Server 中的 [工作名稱] 都會參與雙向同步處理流程。 換言之,兩部伺服器中如有任何一部變更,其變更會自動更新到另一部伺服器。 但只要變更 [標題] (System.Title) 欄位的對應,即可變更此行為。

開始及完成日期的更新

排程欄位參與單向同步處理流程。 換言之,Team Foundation Server 中的 [開始日期] 和 [完成日期] 欄位一律會反映 Project Server 中所指派的值,但 Team Foundation Server 中這些欄位的變更則一律不會提交至 Project Server。 因為 Project 會使用排程引擎決定工作的開始和完成日期,所以執行此規則。

[開始日期] 和 [完成日期] 欄位預設會與 OnConflict="PSWin" 相對應,所以 Team Foundation 中的日期欄位才一律反映 Project Server 中所指派的值。 即使您變更對應屬性,允許可有兩種腳本,則除了第一次提交工作項目之外,Team Foundation 中的日期欄位變更仍不會提交至 Project Server。 在第一次同步處理事件之後,這些欄位即會反映專案計劃的更新內容。

包含時數之欄位的更新

[已完成的時數] 和 [剩餘時數] 欄位預設會參與維護兩種腳本的同步處理流程。 時數變更可能會在專案計劃或 Team Foundation 中發生。 但變更並不一定會覆寫其中任一位置的資訊。 若對應欄位未定義 OnConflict 屬性,即會執行此功能。

如下列情節所述,欄位更新與否,取決於更新者及是否接受更新放入專案計劃。

  • 當小組成員更新時數,且專案管理人員核准提交並發行計劃之後,在下一次 Team Foundation Server 同步處理時,參考欄位和鏡像欄位便會完全相符。

  • 當小組成員更新時數,但遭到專案管理人員拒絕其提交時,將不會接受這些更新放入專案計劃。 參考欄位和鏡像欄位的值將會不同。

  • 當專案管理人員變更專案計劃中的時數時,只有鏡像欄位會在下一次 Team Foundation Server 同步處理時更新。

當兩個伺服器產品之間的工作時數不同時,小組負責人和專案管理人員應協調該差異。 如此一來,不僅每個人都能獨立更新自己的工作,也能掌握他人所做的變更。 如需如何尋找哪些欄位的值與其鏡像欄位不符的詳細資訊,請參閱Find Work Items Where the Work in Team Foundation Differs from that in Project Server

每當專案管理人員設定基準時,便會設定或更新 Team Foundation 中的 [原始評估] 欄位的值,如下圖所示。 此欄位預設會對應到 OnConflict="PSWin" 屬性。

Work estimates

注意事項注意事項

因為 Visual Studio Scrum 流程範本不使用 [已完成工作] 和 [原始評估] 欄位,所以您必須將這些欄位加入要參與資料同步處理之工作項目的類型。此外還必須修改工作類型定義,以移除 <EMPTY /> 工作流程陳述式。如需詳細資訊,請參閱對應到從 Scrum 流程範本建立的小組專案時所需的變更

指派或資源名稱欄位的更新

Team Foundation 的 [指派給] 欄位會對應到 Project Server 的 [資源名稱] 欄位。 此欄位預設會對應到 OnConflict="PSWin" 屬性。 當將資源指派給企業專案計劃中的工作時,請注意下列規則:

  • 同步處理引擎不會同步處理兩個伺服器產品之間的資源資訊。 Team Foundation Server 預設會將其資源與 Active Directory 同步處理,但 Project Server 則不然。 您可以在 Project Server 中手動加入資源,而最好的做法將資源與 Active Directory 同步處理。 若要將資源指派給參與 Team Foundation Server 同步處理之企業專案計劃中的工作,必須將該資源加入 Project Server。 您有兩種方法可以加入資源,一是將資源加入 PWA 執行個體中的「小組成員」群組,一是授與資源在 Project 中 [開啟專案] 和 [檢視專案網站] 權限。 您也必須將資源加入企業專案計劃的資源清單,然後發行專案計劃,如此同步處理引擎才能存取更新後的資源清單。 如需詳細資訊,請參閱指派權限以支援 TFS 與 Project Server 整合

  • 若要管理專案詳細資料,請只為每項工作指派一個資源。 若工作需要多個資源,請將其切分成子工作,然後指派一個資源給每項子工作。

    若您規劃以由上而下的方式管理企業需求,請將每一個使用者劇本和需求指派給開發負責人。

    發行專案計劃時,Team Foundation 的用戶端增益集會確認每項工作皆只獲指派一個資源。 若指派了多個資源給同一項工作,就會顯示 [驗證資源] 對話方塊,要求您只能選擇指派一個資源。 如需詳細資訊,請參閱解決驗證錯誤

  • 在將工作連結或對應到工作項目之後,您只能將資源指派或重新指派給尚未彙總的工作。 彙總的工作會與包含未連結之子工作項目的工作項目相關聯。 彙總的工作在 [資源名稱] 欄位中通常會包含多個名稱。 同步處理引擎會傳輸資源彙總及每個資源的工作時數。 如需詳細資訊,請參閱使用對應至 Team 專案之企業專案中的資源彙總

多層巢狀工作項目的摘要工作、工作階層及提交

同步處理引擎依設計不會更新企業專案計劃中,具有子工作之連結工作的 Project 欄位。 因為專案計劃會計算這些工作的工作,所以同步處理流程會略過這些工作的更新。 標題及其他非工作欄位的更新也不會更新到這些工作。 此行為是兩個伺服器產品整合的已知限制。

當專案管理人員將一組包含需求和連結工作的詳細工作發行到 Team Foundation Server 時,同步處理引擎會鎖定該工作階層。 小組成員無法修改 Team Foundation 中的工作階層,但可以將工作重新指派給小組專案中的小組成員。 如下圖所示,工作會列在其需求之下,而父工作與子工作之間的階層式連結也已鎖定 (Locked link icon)。 鎖定的連結表示已從 Project Server 將需求和子工作加入 Team 專案。 只有專案計劃的專案管理人員可以修改工作階層。

Work breakdown schedule in Team Explorer

當小組將多個層級的工作項目從 Team Foundation 提交至 Project Server 時,必須先核准第一個層級並發行到 Project Server,才能繼續提交下一個層級。 例如,若小組提交一批新工作項目,包含了三個層級的子項目,則專案管理人員必須發行專案計劃四次,所有工作項目才能與 Project Server 同步。 當專案管理人員核准各個層級的工作項目,並將其發行到 Project Server 之後,Team Foundation 中階層式連結關係會被鎖定,直到整個連結階層都被鎖定為止。 小組成員無法修改這些對應工作項目的階層。

挑選清單或查閱資料表之相關聯欄位的更新

當您對應與挑選清單相關聯的 Team Foundation Server 欄位,或與查閱資料表相關聯的 Project Server 欄位時,必須額外注意一些步驟,以確保使用者能夠順利地操作。 同步處理引擎不會自動建立對應項目相關聯清單,也不會同步處理其在另一部伺服器中的允許值。 最好的做法是在 Project Server 中,建立符合 Team Foundation 中所定義之挑選清單的查閱資料表,並在 Team Foundation 中,建立符合 Project Server 中所定義之查閱資料表的挑選清單。 當挑選清單或查閱資料表有所變更時,您必須手動更新其他伺服器產品中的對應清單。

請參閱

概念

加入至 TFS 以支援資料同步處理的 Project Server 欄位

其他資源

使用 TFS 與 Project Server 整合管理專案

自訂 TFS 與 Project Server 之間的欄位對應