zoukankan      html  css  js  c++  java
  • How to unlock the locked tasks in Sharepoint Workflow

    How to unlock the locked tasks in Sharepoint Workflow

     
    Sometimes in Sharepoint Workflow, tasks will get locked and you will not be able to proceed further.

    These locks are placed to prevent the task being updated simultaneously. The workflow runtime locks tasks by setting a field (WorkflowVersion)and persisting that to the database.

    if workflowversion is 1 then the tasks are "not locked". Any value apart from "1" symbolises that these tasks are "locked".

    Ideally to remove the locks, we need to update WorkflowVersion of the task to "1".

    Here you go, the sample for it.


    public static void UnlockWorkflowTasks(string siteUrl, string webUrl, string listName)
            {
                using (SPSite site = new SPSite(siteUrl))
                {
                    using (SPWeb web = site.OpenWeb(webUrl))
                    {
                        SPList list = web.Lists[listName];
                        SPListItemCollection items = list.Items;
     
                        foreach (SPListItem item in items)
                        {
                            SPWorkflowCollection workflows = item.Workflows;
                            foreach (SPWorkflow workflow in workflows)
                            {
                                SPWorkflowTaskCollection tasks = workflow.Tasks;
                                foreach (SPWorkflowTask task in tasks)
                                {
                                    if (task[SPBuiltInFieldId.WorkflowVersion].ToString() != "1")
                                    {
                                        task[SPBuiltInFieldId.WorkflowVersion] = 1;
                                        task.SystemUpdate();
                                    }
                                }
                            }
                        }
                    }
                }
            }
     

    Happy Coding :)
  • 相关阅读:
    webpack + react 前端工程化实践和暂不极致优化
    图解Javascript——作用域、作用域链、闭包
    图解Javascript——变量对象和活动对象
    图解Javascript——执行上下文
    简单实用的进度条、时间轴
    Nginx配置文件nginx.conf中文详解(转)
    负载均衡——nginx理论
    JavaScript的闭包是什么意思以及作用和应用场景
    巧用HTML5给按钮背景设计不同的动画
    利用js的for循环实现一个简单的“九九乘法表”
  • 原文地址:https://www.cnblogs.com/ahghy/p/2731303.html
Copyright © 2011-2022 走看看