Тестовый код для отмены РП
//Повысим привелегии
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;
}
}
}
});
}
Есть решение позволяющее расшрить возможности рабочих процессов и во многих случаях избежать работы с кодом:
ОтветитьУдалитьhttp://www.harepoint.com/Products/HarePointWorkflowExtensions/ListActivities.aspx
nintex workflow еще из популярного
ОтветитьУдалить