Project Online: 実績作業時間を保護する理由


(この記事は 2016 年 1 月 29 日に Project Support Blog に投稿された記事 Project Online: Why protect my actuals? の翻訳です。最新情報については、翻訳元の記事をご参照ください。)

 

このテーマは Project Server にも同様に当てはまり、「保護された実績作業時間」という用語は以前から Project Server で使用されています。しかし、今回ご説明するのは、[Task Settings and Display] ページにある一見すると無害な [Only allow task updates via Tasks and Timesheets] チェック ボックスに関する内容です。Project Online や Project Server の Project Web App インスタンスでこのチェック ボックスがオンになっていると、Project Professional で実績作業時間を変更することができなくなります。

 

実績作業時間を編集しようとした場合、次のようなメッセージが表示されます。「Change would modify work entered by a team member. We can’t make that change because Project Web App is set to only allow actual work to be entered by team members through timesheets or My Work. (変更すると、チーム メンバーによる作業に修正が加えられる可能性があります。Project Web App は、タイムシートまたは自分の作業を通じて、チーム メンバーが実績作業時間のみを入力するよう設定されているため、この変更を行うことができません。)」

 

上記のケースは、[Task Usage] ビューの実績作業時間に詳細を入力しようとした非常にわかりやすい例です。しかし、Project Professional から変更を加えた場合に実績作業時間が修正されるケースは他にも数多くあり、その中には、表示している画面によっては気付きにくいものもあります。その一例が、タスクの達成率を 100% に設定した場合です。未完了の割り当てに残存作業時間がある場合、達成率を 100% に設定することにより、すべての作業が完了したことになるため、残存作業時間のすべてが実績作業時間に変換されます。もう 1 つ例を挙げると、タスクの実績終了日を前の日付に変更した場合には、変更後の日付以降の割り当てに対する実績作業時間がすべて失われる可能性があります。ごくまれに、バグにより、実際には実績作業時間に影響しないにもかかわらず、上記のダイアログが表示される場合がありますが、ほとんどの場合は正当な理由があります。こうした問題が発生した場合は、サポート ケースを作成してください。私たちは喜んでバグを検証し、実績作業時間に本当に影響する場合には、その理由を説明いたします。それよりも困るのは、ダイアログを回避するために、お客様がこの保護オプションをオフにしてしまった場合です。お客様の計画がタイムシートと一致しなくなった理由を後から説明しなければならないからです。それでは今回の本題に入りましょう。

場合によっては、計画に対する変更を許可するために、前述のチェック ボックスをオフにする必要があります。ただし、これはあくまでも最終手段であることをご理解ください。また、このチェック ボックスをオフにしている間は、他のユーザーが Project Professional から PWA に接続しないよう、くれぐれもご注意ください。さらに、ご自身でも実績作業時間に細心の注意を払い、想定外の事態が発生していないことを確認し、計画を保存する前に再確認してください。操作を元に戻さなくてはならない場合に備えて、自動保存機能も無効にすることをお勧めします。この場合、そのまま Project を閉じれば変更内容は残りませんが、自動保存されると元に戻せなくなります (ちなみに、自動保存を有効にすると UNDO バッファーがリセットされるため、そもそも自動保存を有効にしないという方も少なくありません)。対策の 1 つとして、プロジェクトのサマリー タスクを表示し、実績作業時間を重ね合わせます。[Task Usage] ビューに表示される毎月の合計実績作業時間のスクリーンショットを撮ってもよいでしょう。計画を変更したら、保存する前に合計時間が想定どおりの値に修正されていることを確認します。間違いがない場合にのみ保存してください。手動の編集により、実績作業時間が誤った数値に変更された場合、タイムシートとプロジェクト計画の合計時間を照合して修正する作業は非常に手間がかかります。

先ほど、このチェック ボックスをオフにしている間は、他のユーザーが PWA に接続してはいけないと述べましたが、その理由をご説明しましょう。Project Professional が PWA に接続する際、このチェック ボックスがオンになっているかどうかはアプリケーション オブジェクト モデル内の Application.EnterpriseProtectActuals プロパティとして記録されます。Project を起動して PWA に接続したとき、チェック ボックスがオンになっていれば、このプロパティは True に設定され、Project Professional が接続したときにチェック ボックスがオフになっていれば False に設定されます。ここで重要なのは「Project Professional が接続したときに」という部分です。たとえば、ある同僚が簡単な修正を行っている最中に、私が接続してしまったとします。この時点で私は、実績作業時間を誤って変更する可能性があることを知りません。同僚が修正作業を終え、チェック ボックスをオンに戻しても、私は Project を再起動するまで、引き続き実質作業時間を変更できてしまうのです。私がいつものように PC で Project を開きっぱなしにしていたら、再起動するのは何週間も先になるでしょう。

VBA に詳しい方は、もうお気付きかもしれません。前述のように Application.EnterpriseProtectActuals プロパティが設定されるため、VBA マクロを使用してこの値を事前に確認すれば、対応策を講じることができます。接続の際に単純な警告ダイアログを表示することも、ユーザーが所定の操作 (パスワードの入力など) を実行するまで、操作をブロックすることもできます。もちろん、修正作業を行う担当者には、このダイアログの回避手段も用意しておく必要があります。

今回は、VBA について詳しくは触れません。必要に応じて VBA の参考書 (お気に入りのオンライン ブック ストアで「VBA Rod Gill」と検索してください) を読むか、エンタープライズ グローバルにマクロを格納する方法や、マクロを実行できるように適切なセキュリティ レベルを設定する方法など、主なトピックを Bing 検索で調べてください。既にご存知の方にとっては、実績作業時間の保護に役立つ方法を簡単にご理解いただけるでしょう。

次の VBA コードをエンタープライズ グローバルに追加すると、Project を起動してサーバーに接続する際に、現在の状態を示すダイアログが表示されます。

 

Sub Project_Open(ByVal pj As Project)

    If (Application.EnterpriseProtectActuals = True) Then

        MsgBox “Protected actuals is on – no changes that affect actual work are allowed (保護された実績作業時間が有効です。実績作業時間に影響する変更は許可されません。)”

    Else

        MsgBox “Protected actuals is OFF – do not open or save any projects during this session as this can lead to diescrepancies between timesheets and the plan! (保護された実績作業時間が無効です。このセッション中はプロジェクトを開いたり、保存したりしないでください。タイムシートと計画が一致しなくなる可能性があります。)”

    End If

End Sub

値が True の場合は、実績作業時間が保護されます (この場合、ダイアログは必要ないかもしれません)。

チェック ボックスがオフの場合は、以下のようにダイアログが表示されます (お気付きかもしれませんが、diescrepancies は discrepancies のスペルミスです)。

 

※ 本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

Comments (0)

Skip to main content