首页 > Web开发 > 详细

JSOM启动工作流

时间:2019-02-20 14:13:28      阅读:177      评论:0      收藏:0      [点我收藏+]

工作流重新发布后,想重新启动新发布的工作流,先到List的workflow Setting里将之前已经启动了工作流的项目的工作流全部删除,

然后通过JSOM将新的工作流绑定到项目上。

function startWorkflow(itemID, subID) {

    var context = SP.ClientContext.get_current();
    var web = context.get_web();
    var wfServiceManager = SP.WorkflowServices.WorkflowServicesManager.newObject(context, web);
    var subscription = wfServiceManager.getWorkflowSubscriptionService().getSubscription(subID);

    context.load(subscription);

    context.executeQueryAsync(
        function(sender, args){
            //console.log("Subscription load success. Attempting to start workflow.");        
            var inputParameters = {};
            wfServiceManager.getWorkflowInstanceService().startWorkflowOnListItem(subscription, itemID, inputParameters);

            context.executeQueryAsync(
                function(sender, args){ console.log("Successfully starting workflow."); },
                function(sender, args){ 
                    console.log("Failed to start workflow.");
                    console.log("Error: " + args.get_message() + "\n" + args.get_stackTrace());
                }
            );
        },
        function(sender,args){
            console.log("Failed to load subscription.");
            console.log("Error: " + args.get_message() + "\n" + args.get_stackTrace());
        }
    );
}

SP.SOD.executeFunc("sp.js", "SP.ClientContext" , function(){
         SP.SOD.registerSod(‘sp.workflowservices.js‘, SP.Utilities.Utility.getLayoutsPageUrl(‘sp.workflowservices.js‘));
         SP.SOD.executeFunc(‘sp.workflowservices.js‘, "SP.WorkflowServices.WorkflowServicesManager", function(){
                   startWorkflow(listItmeId,‘workflowId‘)
         });
})

 

JSOM启动工作流

原文:https://www.cnblogs.com/learning-life/p/10406123.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!