共用方式為


您應該檢閱本主題中,如果一個或多個欄位不同步,您必須在 Visual Studio Team Foundation Server 2012 與 Microsoft Project Server 之間。 受影響之欄位的資料類型、OnConflict 欄位對應屬性,以及工作階層會影響同步處理引擎更新特定欄位的方式。 如果專案管理人員拒絕一個或多個送出更新,或者如果未發行專案計劃,工作將不會正確更新。 如果未發行計劃,巢狀子工作項目就無法流入核准佇列。

本主題內容

  • 更新欄位處理的概觀

  • 拒絕的送出更新

  • 標題或工作名稱的更新

  • 開始日期和結束日期的更新

  • 包含時數之欄位的更新

  • 工作指派的更新

  • 乘以巢狀工作項目的摘要工作、工作階層以及送出

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

更新欄位處理的概觀

資料會從 Project Server 移動到 Team Foundation Server、PWA 執行個體的狀態佇列、企業專案計劃,然後最後移回 Project Server,如下圖所示。 下表提供有關同步處理流程的其他注意事項,以及如何在流程的每個步驟期間更新欄位。

重要

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

對應的欄位和鏡像欄位的更新

步驟

同步處理程序

欄位更新

步驟 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。 如需詳細資訊,請參閱本主題後面的包含時數之欄位的更新。

步驟 2

狀態同步處理:當小組成員加入或修改設為 [送出至 Project Server] 的工作項目時,同步處理引擎會將更新自動送出至狀態佇列。

系統只會送出對應到送出至狀態佇列 (tfsToTarget 對應) 的欄位。

只有在第一次送出工作項目時,才會送出開始和結束日期的變更。 Team Foundation 中的欄位會對應到 Project 中的資源欄位,因此會對資源欄位進行更新,例如,[資源剩餘工作] 和 [資源已完成工作]。

步驟 3

核准同步處理:核准更新時,該更新會出現在企業專案計劃中。 核准或拒絕的通知會寫入 Team Foundation 中的工作項目記錄。

適用於 Project Professional 的 Team Foundation 增益集可確保正確同步處理 pjTask* 欄位和 pjResource* 欄位的值。 因此,您必須使用 Project Professional 從 Visual Studio 2012 安裝編輯您的企業專案計劃對應至 Team 專案的用戶端電腦。

步驟 4

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

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

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

回到頁首

拒絕的送出更新

當專案管理人員拒絕對需求或工作的狀態更新時,就不會再同步對應的工作項目,直到解決拒絕為止。 拒絕的原因會出現在 [記錄] 欄位中,而且 [Project Server] 索引標籤上的 [上次核准狀態] 欄位會指出 [已拒絕]。 小組成員必須解決拒絕狀態,才能恢復工作項目的同步處理。

您可以建立查詢來找出更新狀態為已拒絕的工作項目。 如需詳細資訊,請參閱Resolving Conflicts and Managing Rejected Work Item Submissions

回到頁首

標題或工作名稱的更新

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 時更新。

當兩個伺服器產品間的工作時數不同時,小組組長和專案管理人員應該協調這個落差。 以此種方式,每個人都可以獨立更新其工作,同時留意其他人所做的變更。 如需如何尋找其值不符合其鏡像欄位之欄位的詳細資訊,請參閱尋找在 Team Foundation 中的工作與在 Project Server 中的工作不相同的工作項目

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

工作預估

注意事項注意事項

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

回到頁首

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

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

  • 同步處理引擎不會同步兩個伺服器產品間的資源資訊。 根據預設,Team Foundation Server 會從 Active Directory 同步其資源,但 Project Server 不會。 您可以在 Project Server 中手動加入資源,或者,最佳作法是與 Active Directory 同步資源。 若要將資源指派到參與 Team Foundation Server 同步處理之企業專案計劃中的工作,您必須將資源加入至 Project Server。 您要透過將資源加入至 PWA 執行個體中的 [Team Members] 群組來加入資源,或是在 Project 中授與 [開啟專案] 和 [檢視 Project 網站] 權限給資源。 您也必須將資料加入至企業專案計劃的資源清單,然後發行同步處理引擎的專案計劃以存取更新的資源清單。 如需詳細資訊,請參閱若要將 Team Foundation 成員加入至 Team Members 群組

  • 如果您要對應專案詳細資料,請只將一個資源指派給每個工作。 如果工作需要多個資源,請將該工作分成數個子任務,然後將一個資源指派給每個子任務。

    如果您只要透過由上而下的計劃管理業務需求,請將每個使用者劇本或需求指派給開發組長。

    當您發行專案計劃時,Team Foundation 的用戶端增益集會驗證是否只將一個資源指派給每個工作。 如果已將多個資源指派給某個工作,[驗證解析] 對話方塊就會出現,而且您必須僅指定一個資源做為作用中指派。 如需詳細資訊,請參閱解決驗證錯誤

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

回到頁首

在多個層級巢嵌之工作項目的摘要工作、工作階層以及送出

根據設計,同步處理引擎不會針對企業專案計劃中具有子任務的連結工作,更新 Project 欄位。 同步處理流程會略過更新這些工作,因為專案計劃會針對這些工作來計算工作。 系統也不會針對這些工作更新對標題和其他非工作欄位的變更。 此行為是這兩種伺服器產品整合時的已知限制。

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

[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 中定義的查閱資料表。 如果挑選清單或查閱資料表變更,您一律必須在另一個伺服器產品中手動更新對應的清單。

回到頁首

請參閱

概念

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

其他資源

使用 Project Server 和 Team Foundation Server 管理專案

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