2014-01-17 35 views
1

我希望能夠使用VSTOMS項目VSTO:更快的方式來閱讀資源分配

MS項目VSTO給我們的TimeScaleValues API,讓閱讀在MS Project中的任務的資源分配(每天)我們閱讀任務的資源分配。然後,我們可以使用循環遍歷每一天。

問題在於,對於每個任務的開始和結束日期跨越數月的WBS,它會導致大量減速(每個任務的x個任務x迭代大量天數)。

我想知道是否有更快的API讀回所有的分配,這可能會讓我回到每天爲特定任務分配資源的小時數,作爲逗號分隔列表嗎?

回答

1

我認爲你正在使用的唯一可用的API來完成你所需要的,但這裏有幾個技巧(您可能已經這樣做),以優化性能:通過

  • 你之前循環中的所有根據任務進行分配,檢查您想分析的值(例如工作值)是否爲該任務的零值。如果它是零,那麼你不需要循環通過單個任務。
  • 在獲得任務的時間分段值之前,請檢查assignment.work不爲零。如果它是零,那麼你知道所有的時間分段值也將是零,所以不需要循環時間標度值。
  • 確保您在分配開始日期和結束日期之間進行時間分段。這將最大限度地減少API循環的週期數。

雖然我儘可能優化了它,但我仍然發現它是一項緩慢的工作,所以我確保有一個進度條/狀態更新以便在執行時通知用戶。

不是你正在尋找的答案,但我希望它有幫助。

+0

是的,我遵循大部分上述規則,並在輔助線程上顯示進度對話框。我向MS Project團隊提出了一個請求,看他們是否能夠提供更快/更好的方式來做到這一點,並希望他們能夠提供更好的API。 –

+0

對不起,我忍不住,但請讓我們知道你如何繼續。 –