PSI を使い始めたばかりの場合は、 Project 2007 SDKの一部であるProjTool アプリをダウンロードして使用することを強くお勧めします。
私はリソースをあまり扱っていませんが、ざっと見てみると、次のようにアプローチします。
- Project.asmxサービスを参照します (例: http://servername/pwa/_vti_bin/psi/Project.asmx )
- ReadProjectEntitiesメソッドを使用して DataSet を取得し、 、および
ProjectEntityType
をTask
渡しAssignment
ますResource
。
いくつかのエンティティ タイプを定義します。
public const int ENT_TYPE_TASK = 2;
public const int ENT_TYPE_RESOURCE = 4;
public const int ENT_TYPE_ASSIGNMENT = 8;
次に、データを読み取ることができます。
int entity = ENT_TYPE_TASK | ENT_TYPE_ASSIGNMENT | ENT_TYPE_RESOURCE;
ProjectDataSet dataSet = project.ReadProjectEntities(projectUid, entity, DataStoreEnum.PublishedStore);
// do stuff with these tables...
//dataSet.Task
//dataSet.Assignment
//dataSet.ProjectResource
ReadProjectEntities は、プロジェクトの必要な部分だけを読み取ることができるので便利です... Task テーブル以外のものが必要な場合は、論理 OR を使用して追加ProjectEntityType
の s を取得できます。
割り当てられた作業については、割り当てテーブルにもあるようですが、計算を行う必要があると思います。