【问题标题】:How to create new tasks in Microsoft Project Server 2013如何在 Microsoft Project Server 2013 中创建新任务
【发布时间】:2016-05-26 20:33:51
【问题描述】:

我们在 Microsoft SharePoint 2013 中使用 Microsoft Project Server 2013。是否可以在项目中创建任务,例如通过 CodeBehind 中的 C# 从 WebPart 创建任务?

【问题讨论】:

    标签: sharepoint sharepoint-2013 project-server ms-project-server-2013


    【解决方案1】:

    我不知道您是否可以使用 Webpart 来创建任务,但是通过 CSOM 您可以连接到您的 PS2013 项目并创建一些任务。

    我将在此处发布一段可以帮助您的代码:

    您必须首先像这样“签出”项目:

    projContext.Load(projContext.Projects);
    projContext.ExecuteQuery();
    
    var proj = projContext.Projects.First(p => p.Name == "Project");
    projContext.ExecuteQuery();
    
    var draftProj = proj.CheckOut();
    
    projContext.Load(draftProj.Tasks);
    projContext.ExecuteQuery();
    
    CreateNewTask(draftProj);
    

    然后,您可以调用创建新任务的方法发送“草稿项目”

    private static void CreateNewTask(DraftProject draftProj)
    {
        TaskCreationInformation nt = new TaskCreationInformation();
    
        nt.Name = "Task name";
        nt.Start = DateTime.Today;
        nt.Duration = "20d";
        nt.Id = Guid.NewGuid();
    
        draftProj.Tasks.Add(nt);
        projContext.Load(draftProj.Tasks);
    
        draftProj.Update();
        projContext.ExecuteQuery();
    
    }
    

    希望对你有帮助,

    【讨论】:

    • 嗨,马克,感谢您的帖子。但问题是用户授权。我的意思是当使用 SharePoint Online/PWA Online 或从控制台应用程序使用时,此代码可以正常工作。但是,当您从 SharePoint 中的“人工制品”执行它时,它不起作用。原因 项目上下文始终由 IIS 用户/应用程序池帐户执行。在 Project Online 中,您可以为用户使用令牌并在用户上下文中执行。但这在 OnPremise SharePoint 中是不可能的。并且用户名/密码不是一个选项。没有用户会在企业 SSO 环境中(再次)输入凭据。
    • 嗨,Storm,我很抱歉听到这个消息,也很抱歉没有帮助您并误解了您的要求。好吧,如果我找到解决您问题的方法,请不要怀疑我会在这里发布。感谢您的回答!
    • 没问题。谢谢你帮助我。
    • @STORM 有一个 javascript CSOM——我相信,它使用用户的当前会话——您可能会构建一个使用该 API 的 webpart。 -- 我们肯定会在 SharePoint 内部运行的 Web 应用程序中使用该 API 的 SharePoint 版本。
    • @MarcLluis -- 是否不需要等待.Update 调用返回的QueueJob? -- 之后不需要打电话给draftProj.CheckIn吗? (就像它会让项目处于奇怪的“已签出”状态?)
    猜你喜欢
    • 1970-01-01
    • 2018-12-10
    • 1970-01-01
    • 2016-10-21
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 2015-05-10
    • 1970-01-01
    相关资源
    最近更新 更多