问题标签 [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.
c# - 使用 PSI Project Server 2013 创建时间表 - 常规无效操作
我正在尝试使用msdn中的 TimeSheet.CreateTimesheet 方法,但不幸的是,我从控制台收到了 General Invalid Operation 错误。
我怀疑这是一个权限问题,因为我已经按照之前链接的 msdn 入口中发布的所有说明进行了操作。
以下是主要代码:
当timeSheetSvc.CreateTimesheet(timesheetDs, SvcTimeSheet.PreloadType.Assignments);
它被调用时,我得到了一般无效操作。
有人知道那是什么意思吗?或者我在哪里可以找到更多信息?
编辑:
这是我的 PSI 控制台的屏幕截图,用于解析错误:
提前致谢,
sharepoint-online - Project Server Online CSOM - 读取 TimePhase 分配时 GeneralSecurityAccessDenied
这是我的第一个 SO 问题,所以如果这个问题不是很清楚或者我遗漏了什么,请告诉我。
仅供参考,我无法附加链接,对于所有错误的格式,我们深表歉意。
概述
我正在尝试使用 Microsoft 提供的 CSOM 库来读取(和写入)Project Server Online 中资源的“实际工作”。只要我正在阅读当前经过身份验证的用户的作业,阅读和编写作业和实际工作就可以完美地工作。如果我尝试为其他资源读取此内容,则会收到 GeneralSecurityAccessDenied 错误。
我过去曾使用 Impersonation 完成此操作,如果用户拥有 StatusBrokerPermission,它应该在后台透明地调用,但它似乎对我不起作用。模拟已在 2013+ 中删除,因此不再是一个选项。
问题总结
CSOM 应该透明地启用状态扩展,以允许对当前经过身份验证的用户以外的资源进行状态更新(只要用户具有状态代理权限)。这适用于添加新任务,但在尝试通过 TimePhased 任务更新实际 TimePhased 小时数时不起作用。无法查询分配,因此我们无法调用 SubmitAllStatusUpdates 来提交小时数。
研究
CSOM 的使用场景:https://msdn.microsoft.com/en-us/library/office/jj163082(v=office.15).aspx#pj15_WhatTheCSOM_UsageScenarios
模拟已弃用:https://msdn.microsoft.com/en-us/library/office/ee767690(v=office.15).aspx#pj15_WhatsNew_Deprecated)
有同样问题的人#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:http://uzzai.com/ZB43wp95/ps2013-app-how-to-read-and-update-timephased-data-with-jsom-javascript-csom.html
有同样问题的人#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
我尝试过的其他事情
- 使用 CSOM 和 MsOnlineClaimsHelper 来检索用户的 FedAuth cookie(并使用 CookieContainer 分配它们)。
- 使用 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')/作业
- 为用户启用“StatusBrokerPermission”
- 取消选中“仅允许通过任务和时间表更新任务”。服务器设置屏幕中的选项(任务设置和显示)。
- 创建 SharePoint 托管的应用程序并使用与上述 CSOM 代码等效的 JSOM 代码。a) 我们编写的代码是从 SharePoint 应用程序中执行的 JavaScript,因此我们不需要提供身份验证。登录的用户拥有 StatusBrokerPermission。
- 使用提供商托管的 SharePoint 应用程序并使用上面的 CSOM 代码。我们尝试使用上述 CSOM 的所有身份验证方法,并进行附加测试:a) 使用 Fiddler 查看由 SharePoint 应用身份验证设置的 FedAuth cookie,并覆盖 WebRequest 以手动插入 FedAuth/rtFA cookie:webRequestEventArgs.WebRequestExecutor.WebRequest .CookieContainer = getStaticCookieContainer();
- 使用时间表提交时间分段数据。a) 我们只能为当前经过身份验证的用户创建时间表,并且不能使用他不可用的项目/分配填充时间表行(或抛出 GeneralItemDoesNotExist 错误)。
- 使用 fiddler 手动发出“SubmitAllStatusUpdates”CSOM 请求,作为不同的用户。a) 这个测试的目的是确定我们是否可以写入时间分段数据,即使我们无法读取它。
- 确保项目已签出给当前用户。
- 对资源使用管理委派。
- 在项目权限内设置所有可用选项。
- 使用 Project Web UI 输入其他资源的 TimePhased 数据。
- 使用 SharePoint 权限模式而不是项目权限模式。
编码
有人可以帮忙吗??
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 中删除该值。
有没有其他人经历过这样的项目计算字段计算不正确?有任何修复吗?
ms-project-server-2013 - 用户无法查看资源计划中的资源,也无法将新资源添加到项目服务器 2013 中的资源计划中
我最近遇到了一个情况,我们的两个用户无法在资源计划中看到添加的资源。此外,他们可以添加新资源但不能保存它们。他们所看到的只是一条警告说“项目不再签出给你”。它只发生在特定项目中。
正如警报所说,它已签出给其他人,我试图强制签入项目/资源计划,但它没有出现在“强制签入企业对象”本身中。
我认为这些用户是否没有足够的权限来执行操作,但他们是项目经理/投资组合经理的一部分,他们可以完全访问执行此任务。
有人可以就导致此问题的原因向用户提供一些见解。
android - 微软项目和安卓
我正在尝试开发一个应用程序来检索有关.mpp
存储在Project Server (2013)中的项目(基本上是文件)的信息。我们也安装了一个PWA
。
问题是我不知道如何向服务器发出请求以检索这些信息。
有人知道从哪里开始吗?
sharepoint - 如何使用 PSI 读取 AssignmentProcessStatus?
我正在尝试使用 PSI 和 C# 从 Project Server 读取特定的用户分配和任务,这些是我的代码的一部分:
到现在为止,一切都还好,但我希望每个作业都有 AssignmentProcessStatus 字段,我不得不说我知道如何从 TimeSheetPeriods 获得这个字段值,但是在这个 Project Server 上没有时间表周期或时间表行。
我的问题:有没有办法在没有 TimeSheetPeriods 的情况下访问 AssignmentProcessStatus 字段?
提前致谢
vba - VBA MS 项目。如何以编程方式移动查找表的条目?
我有一个问题。我正在研究 MS Project 2013 中的 VBA 宏,它可以自动填充和更改查找表,它与项目专业中的本地自定义字段链接。我在 VBA 上有这些代码部分:
- 添加条目
-更改条目的描述
- 改变整体水平
但我找不到如何以编程方式在查找表中向上/向下移动条目。换句话说,我需要以编程方式使用屏幕截图按钮中的标记。请帮我。谢谢!
javascript - 使用 javascript 在 Project Server 2013 中获取项目
我很想从 Project Server 2013 中获取我的项目列表,并使用 Javascript 在 Sharepoint 上显示它们。
谢谢
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();
。
有人遇到过这种情况吗?