3

Statusing Web Service (PSI) を介して課題のステータス情報を更新しようとしています。問題は、結果が期待どおりでないことです。私がやっていることを詳細に説明しようとします:

2 つのケース:

1) 指定されたタスクにリソースの割り当てが存在します。作業実績(更新状況)を報告したい。

2) 指定されたタスクにリソースが割り当てられていません。割り当てを作成し、作業実績を報告したいと考えています。

プロジェクトには 1 つのタスクがあります (自動スケジュール、固定作業)。すべてのリソースのリソース可用性は 100% に設定されています。すべて同じカレンダーです。

  • 名前: タスク 31 - 固定作業
  • 期間: 12,5 日?
  • 開始: 14.03.13 木
  • 終了: 火 02.04.13
  • リソース名: リソース 1
  • 仕事: 100 時間

最初に、次の ChangeXML で UpdateStatus を実行します

<Changes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Proj ID="a8a601ce-f3ab-4c01-97ce-fecdad2359d9">
    <Assn ID="d7273a28-c038-486b-b997-cdb2450ceef5" ResID="8a164257-7960-4b76-9506-ccd0efabdb72">
      <Change PID="251658250">900000</Change>
    </Assn>
  </Proj>
</Changes>

次に、SubmitStatusForResource を呼び出します

client.SubmitStatusForResource(new Guid("8a164257-7960-4b76-9506-ccd0efabdb72"), null, "auto submit PSIStatusingGateway");

次のエントリが承認センターにポップアップ表示されます (これは予想どおりです)。

ステータスアップデート; タスク 31; タスクの更新; リソース 1; 2012 年 3 月 20 日; 15時間; 15%; 85h

プロジェクトの更新 (まだ正常に見えます):

  • タスク名: タスク 31 - 固定作業
  • 期間: 12,5 日?
  • 開始: 14.03.13 木
  • 終了: 火 02.04.13
  • リソース名: リソース 1
  • 仕事: 100 時間
  • 実際の作業時間: 15 時間
  • 残りの作業時間: 85 時間

次に、2 番目のケースが実行されます。まず、新しい割り当てを作成します...

client.CreateNewAssignmentWithWork(
                            sName: Task 31 - Fixed Work,
                            projGuid: "a8a601ce-f3ab-4c01-97ce-fecdad2359d9",
                            taskGuid: "024d7b61-858b-40bb-ade3-009d7d821b3f",
                            assnGuid: "e3451938-36a5-4df3-87b1-0eb4b25a1dab",
                            sumTaskGuid: Guid.Empty,
                            dtStart: 14.03.2013 08:00:00,
                            dtFinish: 02.04.2013 15:36:00,
                            actWork: 900000,
                            fMilestone: false,
                            fAddToTimesheet: false,
                            fSubmit: false,
                            sComment: "auto commit...");

次に、UpdateStatus を再度呼び出します。

<Changes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Proj ID="a8a601ce-f3ab-4c01-97ce-fecdad2359d9">
    <Assn ID="e3451938-36a5-4df3-87b1-0eb4b25a1dab" ResID="c59ad8e2-7533-47bd-baa5-f5b03c3c43d6">
      <Change PID="251658250">900000</Change>
    </Assn>
  </Proj>
</Changes>

そして最後に SubmitStatusForResource が再び

client.SubmitStatusForResource(new Guid("c59ad8e2-7533-47bd-baa5-f5b03c3c43d6"), null, "auto submit PSIStatusingGateway");

これにより、承認センターに次のエントリが作成されます。

ステータスアップデート; タスク 31 - 固定作業; 新しい再割り当てリクエスト; リソース 2; 2012 年 3 月 20 日; 15時間; 100%; 0h

私はそれを受け入れ、プロジェクトを更新します:

  • 名前: タスク 31 - 固定作業
  • 期間: 6,76 日?
  • 開始: 14.03.13 木
  • 終了: 25.03.13 月
  • リソース名: リソース 1;リソース 2
  • 仕事: 69.05 時間
  • 実際の作業時間: 30 時間
  • 残りの作業時間: 39.05 時間

そして、なぜ新しい仕事が69,05時間になるのか、私には本当にわかりません。私が期待した結果は次のとおりです。

  • 名前: タスク 31 - 固定作業
  • 期間: 6,76 日?
  • 開始: 14.03.13 木
  • 終了: 25.03.13 月
  • リソース名: リソース 1;リソース 2
  • 仕事: 65 時間
  • 実際の作業時間: 30 時間
  • 残りの作業時間: 35 時間

値を更新して必要な結果を得る方法を見つけようとして、かなりの時間を費やしました。助けていただければ幸いです。これは髪を切りたくなる!

前もって感謝します

PS: 私は MS Project Server 2010 と MS Project Professional 2010 を使用していることを忘れていました。

4

0 に答える 0