суббота, 3 декабря 2011 г.

Отмена Рабочего процесса SharePoint

 

Тестовый код для отмены РП

//Повысим привелегии

SPSecurity.RunWithElevatedPrivileges(() =>
  {
     using (SPSite siteColl = new SPSite(@"http://labtax23.inb2b.net/cs"))
     {
                    using (SPWeb site = siteColl.OpenWeb(@"/cs"))
                    {
                        try
                        {
                            Label1.Text = site.Name + "  ";
                             SPListItem item = site.Lists["test"].GetItemById(1);

                            Label1.Text += item.Name;

                            //Получаем экземпляр РП
                            SPWorkflow wf = item.Workflows[item.Workflows[0].InstanceId];
                            //Завершаем РП при этом отменяются все задачи связанные с РП
                            SPWorkflowManager.CancelWorkflow(wf);
                        }
                        catch (Exception ex)
                        {
                            Label1.Text += ex;
                        }

                    }
                }
            });
        }