问题标签 [ms-project-server-2013]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
350 浏览

c# - 使用 PSI Project Server 2013 创建时间表 - 常规无效操作

我正在尝试使用msdn中的 TimeSheet.CreateTimesheet 方法,但不幸的是,我从控制台收到了 General Invalid Operation 错误。

我怀疑这是一个权限问题,因为我已经按照之前链接的 msdn 入口中发布的所有说明进行了操作。

以下是主要代码:

timeSheetSvc.CreateTimesheet(timesheetDs, SvcTimeSheet.PreloadType.Assignments);它被调用时,我得到了一般无效操作。

有人知道那是什么意思吗?或者我在哪里可以找到更多信息?

编辑:

这是我的 PSI 控制台的屏幕截图,用于解析错误:

PSIC 控制台错误

提前致谢,

0 投票
0 回答
1789 浏览

sharepoint-online - Project Server Online CSOM - 读取 TimePhase 分配时 GeneralSecurityAccessDenied

这是我的第一个 SO 问题,所以如果这个问题不是很清楚或者我遗漏了什么,请告诉我。

仅供参考,我无法附加链接,对于所有错误的格式,我们深表歉意。

概述

我正在尝试使用 Microsoft 提供的 CSOM 库来读取(和写入)Project Server Online 中资源的“实际工作”。只要我正在阅读当前经过身份验证的用户的作业,阅读和编​​写作业和实际工作就可以完美地工作。如果我尝试为其他资源读取此内容,则会收到 GeneralSecurityAccessDenied 错误。

我过去曾使用 Impersonation 完成此操作,如果用户拥有 StatusBrokerPermission,它应该在后台透明地调用,但它似乎对我不起作用。模拟已在 2013+ 中删除,因此不再是一个选项。

问题总结

CSOM 应该透明地启用状态扩展,以允许对当前经过身份验证的用户以外的资源进行状态更新(只要用户具有状态代理权限)。这适用于添加新任务,但在尝试通过 TimePhased 任务更新实际 TimePhased 小时数时不起作用。无法查询分配,因此我们无法调用 SubmitAllStatusUpdates 来提交小时数。

研究

  1. CSOM 的使用场景:https://msdn.microsoft.com/en-us/library/office/jj163082(v=office.15).aspx#pj15_WhatTheCSOM_UsageScenarios

  2. 模拟已弃用:https://msdn.microsoft.com/en-us/library/office/ee767690(v=office.15).aspx#pj15_WhatsNew_Deprecated)

图片:应该代表另一个用户阅读......

  1. 有同样问题的人#1:https://social.technet.microsoft.com/Forums/projectserver/en-US/dccdb543-18a1-4a0e-a948-5d861305516e/how-to-get-resource-assignments-summary-查看数据项目服务器在线 2013?forum=projectonline)

  2. 有同样问题的人#2:http://uzzai.com/ZB43wp95/ps2013-app-how-to-read-and-update-timephased-data-with-jsom-javascript-csom.html

  3. 有同样问题的人#4:https://social.technet.microsoft.com/Forums/Sharepoint/en-US/be27d497-e959-44b6-97cb-8f19fe0278fe/csom-how-to-set-timephase-data- on-an-assignment?forum=project2010custprog

我尝试过的其他事情

  1. 使用 CSOM 和 MsOnlineClaimsHelper 来检索用户的 FedAuth cookie(并使用 CookieContainer 分配它们)。
  2. 使用 REST/OData API。a) https://URL.sharepoint.com/sites/pwa/_api/ProjectServer/EnterpriseResources('c39ba8f1-00fe-e311-8894-00155da45f0e')/Assignments/GetTimePhaseByUrl(start='2014-12-09',end ='2014-12-09')/作业
  3. 为用户启用“StatusBrokerPermission”
  4. 取消选中“仅允许通过任务和时间表更新任务”。服务器设置屏幕中的选项(任务设置和显示)。
  5. 创建 SharePoint 托管的应用程序并使用与上述 CSOM 代码等效的 JSOM 代码。a) 我们编写的代码是从 SharePoint 应用程序中执行的 JavaScript,因此我们不需要提供身份验证。登录的用户拥有 StatusBrokerPermission。
  6. 使用提供商托管的 SharePoint 应用程序并使用上面的 CSOM 代码。我们尝试使用上述 CSOM 的所有身份验证方法,并进行附加测试:a) 使用 Fiddler 查看由 SharePoint 应用身份验证设置的 FedAuth cookie,并覆盖 WebRequest 以手动插入 FedAuth/rtFA cookie:webRequestEventArgs.WebRequestExecutor.WebRequest .CookieContainer = getStaticCookieContainer();
  7. 使用时间表提交时间分段数据。a) 我们只能为当前经过身份验证的用户创建时间表,并且不能使用他不可用的项目/分配填充时间表行(或抛出 GeneralItemDoesNotExist 错误)。
  8. 使用 fiddler 手动发出“SubmitAllStatusUpdates”CSOM 请求,作为不同的用户。a) 这个测试的目的是确定我们是否可以写入时间分段数据,即使我们无法读取它。
  9. 确保项目已签出给当前用户。
  10. 对资源使用管理委派。
  11. 在项目权限内设置所有可用选项。
  12. 使用 Project Web UI 输入其他资源的 TimePhased 数据。
  13. 使用 SharePoint 权限模式而不是项目权限模式。

编码

在此处查看失败的代码截图

有人可以帮忙吗??

0 投票
1 回答
231 浏览

ms-project - MS Project 任务级计算的自定义字段显示不正确的值

我在任务级别上定义了一个自定义字段,该自定义字段是使用另一个任务级别自定义字段的值计算的。

计算字段“Completed”的值是 1 或 0,基于另一个字段“Completed Date”的值。如果 Completed Date 有值,Completed = 1,否则 Completed = 0。 Completed Date 是一个日期类型字段。

我目前遇到一个问题,在少数情况下,当 Completed Date 没有价值时,Completed 为 1。

已完成的公式是

99% 的值计算正确,但 1% 会导致问题。纠正 Completed 值的唯一方法是在 Completed Date 中输入一个值,然后从 Completed Date 中删除该值。

有没有其他人经历过这样的项目计算字段计算不正确?有任何修复吗?

0 投票
1 回答
38 浏览

ms-project-server-2013 - 用户无法查看资源计划中的资源,也无法将新资源添加到项目服务器 2013 中的资源计划中

我最近遇到了一个情况,我们的两个用户无法在资源计划中看到添加的资源。此外,他们可以添加新资源但不能保存它们。他们所看到的只是一条警告说“项目不再签出给你”。它只发生在特定项目中。

正如警报所说,它已签出给其他人,我试图强制签入项目/资源计划,但它没有出现在“强制签入企业对象”本身中。

我认为这些用户是否没有足够的权限来执行操作,但他们是项目经理/投资组合经理的一部分,他们可以完全访问执行此任务。

有人可以就导致此问题的原因向用户提供一些见解。

0 投票
1 回答
322 浏览

android - 微软项目和安卓

我正在尝试开发一个应用程序来检索有关.mpp存储在Project Server (2013)中的项目(基本上是文件)的信息。我们也安装了一个PWA

问题是我不知道如何向服务器发出请求以检索这些信息。

有人知道从哪里开始吗?

0 投票
0 回答
86 浏览

sharepoint - 如何使用 PSI 读取 AssignmentProcessStatus?

我正在尝试使用 PSI 和 C# 从 Project Server 读取特定的用户分配和任务,这些是我的代码的一部分:

到现在为止,一切都还好,但我希望每个作业都有 AssignmentProcessStatus 字段,我不得不说我知道如何从 TimeSheetPeriods 获得这个字段值,但是在这个 Project Server 上没有时间表周期或时间表行。

我的问题:有没有办法在没有 TimeSheetPeriods 的情况下访问 AssignmentProcessStatus 字段?

提前致谢

0 投票
1 回答
272 浏览

vba - VBA MS 项目。如何以编程方式移动查找表的条目?

我有一个问题。我正在研究 MS Project 2013 中的 VBA 宏,它可以自动填充和更改查找表,它与项目专业中的本地自定义字段链接。我在 VBA 上有这些代码部分:

- 添加条目

-更改条目的描述

- 改变整体水平

但我找不到如何以编程方式在查找表中向上/向下移动条目。换句话说,我需要以编程方式使用屏幕截图按钮中的标记。请帮我。谢谢!

截图

0 投票
1 回答
897 浏览

javascript - 使用 javascript 在 Project Server 2013 中获取项目

我很想从 Project Server 2013 中获取我的项目列表,并使用 Javascript 在 Sharepoint 上显示它们。

谢谢

0 投票
1 回答
746 浏览

sharepoint - 更新任务状态进度 Project Server 2013

我尝试使用项目服务器 2013 CSOM 更新任务状态进度(状态分配),但出现“未知错误”异常和以下 StackTrace:

在 Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream) 在 Microsoft.SharePoint.Client.ClientRequest.ProcessResponse() 在 Limitless.Components.Project2013.ProjectComponent.UpdateTask(ProjectServerConnection 连接,Guid ProjectUID,List`1 数据)

我在共享点日志中找不到任何错误。它是全新安装的 Project Server 2013,它成功检索了任务(StatusAssignments),但之后self.Assignments.Update();抛出 self.Assignments.SubmitAllStatusUpdates("By PS Web App");异常context.ExecuteQuery();

有人遇到过这种情况吗?

0 投票
1 回答
666 浏览

project-server - 项目服务器 Web 应用程序 - 获取任务 ID,而不是 GUID

是否可以使用 PWA rest api 获取在图片上标记的 ID?

没有运气尝试了这些参数

甘特图

有任何想法吗?