如何使用PSI 2007获取“资源使用情况”视图

时间:2011-03-17 16:11:39

标签: project-server psi

如果我使用错误的术语或概念,请原谅。似乎我在MS Project,Project Server和PSI的速成课程的迷雾中......

Project Professional提供“资源使用情况”视图,其中列出了给定资源,已分配给它们的任务以及给定日期的预定工作量。

Project Server中是否提供此信息以及如何使用PSI读取它?

感谢。

  • 杰森

1 个答案:

答案 0 :(得分:1)

如果您刚刚开始使用PSI,我强烈建议您下载using the ProjTool app下的Project 2007 SDK

我没有做过太多关于Resources的工作,但在快速浏览之后..这就是我如何处理它:

  1. 参考Project.asmx服务(例如:http://servername/pwa/_vti_bin/psi/Project.asmx
  2. 使用ReadProjectEntities方法检索数据集,并将ProjectEntityType TaskAssignmentResource传递给它。
  3. 定义一些实体类型:

    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

    至于分配的作品,它看起来也在作业表中,但我认为你必须做一些计算。