1

我正在通过 Microsoft.SharePoint.Client 上下文使用 MS Project Server 2013 的 PSI 接口。

我需要在特定日期获取特定资源的可用数量或小时数。

例如,资源 1 的当前最大单位为 100%。我设置了 8h work day,也就是说 Resource1 每个工作日都有 8h。我将 Resource1 计划工作 2h 设置为今天。所以我需要获得今天的最大可用时间:8h - 2h = 6h。

//open project context
ProjectContext projContext;
projContext = new ProjectContext(pwaPath);

//load enterprise resource
projContext.Load(projContext.EnterpriseResources);
projContext.ExecuteQuery();

//get first resource
EnterpriseResource resource = projContext.EnterpriseResources[0];

//what should I do next?

是否有任何方法可以在没有手动计算的情况下获得此估计?

4

1 回答 1

0
        DateTime dtStart = DateTime.Parse("09.04.2015");
        DateTime dtEnd = DateTime.Parse("12.28.2016");
        var plan = checkoutProj.GetResourcePlan(dtStart, dtEnd, TimeScale.Days);

        projContext.Load(plan.Assignments);
        projContext.ExecuteQuery();

        DateTime dttest = DateTime.Parse("8.28.2016");
        var assgn = plan.Assignments[0].Intervals.GetByStart(dttest);

        projContext.Load(plan.Assignments[0].Intervals);
        projContext.Load(plan.Assignments[1].Intervals);
        projContext.Load(assgn);
        projContext.ExecuteQuery();

assgn.Duration为您提供特定日期的工作量。

于 2016-02-11T10:34:27.157 回答