【问题标题】:CheckIn,CheckOut project For specific User Using PSI?CheckIn,CheckOut 项目对于使用 PSI 的特定用户?
【发布时间】:2011-11-16 05:29:46
【问题描述】:

我有一个业务案例,我必须在工作流程中通过 PSI 签出项目,但是当我 签出项目我无法继续工作流程阶段 PWA 写道,我在另一个会话中签出项目,我需要继续 PWA 的工作流程?任何帮助或建议

【问题讨论】:

    标签: workflow psi ms-project-server-2010


    【解决方案1】:

    您是否重置了 sessionId?您必须在整个过程中存储它。 这是一个简短的例子:

    //set guids for session and job
    Guid sessionId = Guid.NewGuid();
    Guid jobId = Guid.NewGuid();
    
    //checkout in the current session
    projectSvc.CheckOutProject(ProjectId, sessionId, "custom field update checkout");
    
    //do something (for example, update a project) with the same sessionId!
    bool validateOnly = false;
    projectSvc.QueueUpdateProject(jobId, sessionId, project, validateOnly);
    
    //simply wait, if you don't use queuing services
    System.Threading.Thread.Sleep(4000);
    
    //create a new job ID for the checkin, sessionId stays the same as before!
    jobId = Guid.NewGuid();
    
    //checkin the project
    bool force = false;
    string sessionDescription = "updated custom fields";
    projectSvc.QueueCheckInProject(jobId, ProjectId, force, sessionId, sessionDescription);
    
    //wait again (very ugly)
    System.Threading.Thread.Sleep(4000);
    

    在这里查看我的答案:Setting custom fields using the PSI - Microsoft Project Server

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-20
      • 2018-09-23
      • 2013-04-25
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 2021-08-18
      • 2013-01-31
      相关资源
      最近更新 更多