Start workflow instance

<script type="text/javascript" src="/_layouts/15/sp.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.core.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.runtime.js"></script>
<script type="text/javascript" src="/_layouts/15/sp.workflowservices.js"></script>


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());
        }
    );
}

EecuteOrDelayUntilScriptLoaded(function () {
  startWorkflow(20,'{BFBD8116-D9D8-4B5B-8C06-BE759043B739}');
//workflo s
ubscription id can be found under workflow settings page.
}, "sp.workflowservices.js");

猜你喜欢

转载自www.cnblogs.com/jackhu88/p/9208613.html