2011-03-17 75 views
1

如果我使用不正确的术语或概念,请原谅我。似乎我陷入了MS Project,Project Server和PSI的崩溃过程中......如何使用PSI 2007获取资源使用状况视图

Project Professional提供了资源使用情况视图,其中列出了给定的资源,它们已分配给的任务以及某一天的计划工作量。

这个信息在Project Server可用,我将如何使用PSI它读?

谢谢。

  • 杰森

回答

1

如果你刚开始使用PSI,我强烈推荐下载和using the ProjTool app那就是Project 2007 SDK的一部分。

我还没有对资源的工作太多了,而是采取了快速浏览后..这里是我怎么想接近它:

  1. 参考的Project.asmx服务(例如:http://servername/pwa/_vti_bin/psi/Project.asmx
  2. 使用ReadProjectEntities方法来检索数据集,并通过它的TaskAssignmentResource一个ProjectEntityType

定义一些实体类型:

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是好的,因为你可以阅读你需要的项目中,只有一部分...如果你需要比任务表更多的信息,那么你可以使用逻辑OR来得到额外的ProjectEntityType

至于分配的工作,它看起来像,这也是在分配表,但我认为你必须做一些计算。

+0

感谢您的答复套件。我实际上在几天前下载了SDK ...我甚至修改了它并为其添加了额外的服务。阅读“项目”,“任务”,“资源”或甚至“分配”,我都没有问题。经过进一步的研究,看起来我可能在Reporting数据库的[MSP_EpmAssignmentByDay]表中找到了我正在查找的数据。 – Jason 2011-03-18 14:14:30

+0

太棒了!很高兴听到你的工作。 – 2011-03-18 14:32:34