バージョン

xamGantt 競合の解決

トピックの概要

目的

このトピックでは、 xamGantt™ 競合の解決について説明します。

本トピックの内容

このトピックには次のセクションがあります。

xamGantt 競合の解決の概要

競合の概要

タスクへの変更は多くの場合、関連タスクのプロパティだけでなくタスクのその他のプロパティの値に影響します。Project クラスはこれらの操作へのデフォルトの対応を制御するプロパティを公開します。Project クラスは適切な対応のランタイム決定を可能にするイベントを発生させます。

以下の表は発生する可能性がある競合をまとめます。

競合 説明

実績値が失われる

プロジェクトから失われる実績値 (たとえば ActualStartActualDuration) を持つタスクに変更が起こる時に発生します。

開始したタスクを削除して、開始したタスクの実績期間を 0 に変更し、開始したタスクの開始をクリアした結果として、この状態が発生する場合があります。

競合制約および依存関係情報

タスクの制約情報 (つまり ConstraintType および ConstraintDate) およびその依存関係 (つまり先行処理/後続処理) を、その 1 つまたは複数を違反することとなるために強制できない時に発生します。

たとえば、TaskB に FinishToStart 関係で先行処理として TaskA があり、Task B の EarlyStart が計算される前に TaskB の ConstraintType が ConstraintDate の MustStartOn に設定される場合です。

変更が続行を許可される場合、 ProjectSettingsAlwaysHonorTaskConstraintDates は優先される情報を決定します。

制約警告

タスクの制約を変更しようとする時、または制約情報を認識できない時に起動します。発生する可能性がある警告のタイプは、 ProjectTaskConstraintWarningType 列挙体に提示されます。

プロジェクト ルート タスクを削除

エンドユーザーがルート タスクを選択していて Delete キーを押す時など、 ProjectRootTaskDelete メソッドが起動される時に発生します。

サマリー タスクの削除

IsSummary が true の ProjectTaskDelete メソッドが起動される時に発生します。

注:

Note

これは、Project の RootTask を削除しようとした時には起動されません。そのため、上記の DeleteRootTask 警告が発生します。

依存関係循環の警告

同じタスクへの参照、子孫/先祖タスクまたはそのオリジナルのタスクに直接または間接的に依存するタスクなど、循環参照を含むといったように、タスクの先行処理または後続処理が変更された時に発生します。

リソース喪失の警告

AutoAddNewResources ProjectSettings プロパティが false で、ResourceItems コレクションの ProjectResourceDisplayName に一致しない Resources セルにエンドユーザーが名前を入力する時に発生します。

タスク開始または終了が非稼働日に設定

タスクの Start または Finish が非稼働日に設定されると発生します。

この状況では、値を隣接する稼働日に移動する、それを含む日の稼働時間を定義するために ProjectCalendarExceptionを作成する、または操作をキャンセルできます。

タスクがプロジェクトの限度を違反

開始からスケジュールされたプロジェクトで開始が Project Start の前である、または終了からスケジュールされたプロジェクトで終了が Project の Finish の後であるなど、タスクの制約または依存関係情報が設定される時に発生します。

たとえば、タスクで ConstraintTypeMustStartOn/StartNoLaterThan に設定されており、Start 値が Project の Start 以前の日に設定されており、 IsScheduledFromStarttrue の時に発生する可能性があります。

デフォルトの操作

以下の表は、競合と競合が発生した時に取るデフォルトの操作を決定するプロパティをリストします。

イベント

以下の表に、競合が発生する時に発生するイベントをリストします。

競合 イベント

実績値が失われる

競合制約および依存関係情報

Type= ConstraintOrDependencyCannotBeEnforced

制約警告

TaskConstraintWarning

プロジェクト ルート タスクを削除

Type= DeleteRootTask

サマリー タスクの削除

Type= DeleteSummaryTask

依存関係循環の警告

リソース喪失の警告

タスク開始または終了が非稼働日に設定

タスクがプロジェクトの限度を違反

Type= TaskMovedAfterProjectFinish または TaskMovedBeforeProjectStart

このトピックについては、以下のトピックも参照してください。

トピック 目的

特定の無効なタスク値、プロジェクト設定または再スケジュール操作は競合の原因となる可能性があります。xamGantt はこれらの競合を解決して通知をユーザーに表示します。このトピックでは、競合の解決で生じるユーザー通知を説明します。