Как прекратить рабочий процесс в Sharepoint 2010 - PullRequest
1 голос
/ 08 ноября 2011

В настоящее время я сталкиваюсь с этой ошибкой после выполнения моей пользовательской задачи рабочего процесса в Sharepoint 2010. Она показывает ошибку «произошла ошибка», я подозреваю, что рабочий процесс не завершен должным образом. Как программно прекратить рабочий процесс? Я видел, что большинство сайтов просят нас использовать следующие коды ниже, но я не знаю, как реализовать коды.

SPWorkflowCollection 
itemWorkflowCollection= listItem.Workflows;
foreach (SPWorkflow itemWorkflow in itemWorkflowCollection)
{
  //cycle workflows associated to the item (listItem)
  if (!itemWorkflow.IsCompleted && itemWorkflow.InternalState == SPWorkflowState.Running)
  {
    foreach (SPWorkflowTask taskWorkflow in itemWorkflow.Tasks)
    {
      //cycle throught all tasks associated to the workflow
      //if task is not completed
      if (taskWorkflow["PercentComplete"].ToString() != “1″)
      {
        //you can cancel or change the running tasks before canceling the workflow
        taskWorkflow["Status"] = “Canceled”;
        taskWorkflow["PercentComplete"] = 1;
        web.AllowUnsafeUpdates = true;
        taskWorkflow.Update();
      }
    }
    SPWorkflowManager.CancelWorkflow(itemWorkflow);
  }
}

1 Ответ

0 голосов
/ 08 ноября 2011

Отображаемый код отменяет рабочий процесс, который не завершен и его внутреннее состояние равно работает .В этом случае все связанные задачи рабочего процесса отменяются, и в конечном итоге рабочий процесс отменяется.Если вы выполняете этот код в своем рабочем процессе (WF) со статусом «Произошла ошибка» , ничего не произойдет .

«Произошла ошибка» означает, что в WF произошла ошибка был отменен SharePoint - не нужно пытаться завершить WF, поскольку он уже завершен.

Что вам нужно сделать сейчас, это выяснить, почему этот WF выдал ошибку.Сначала проверьте страницу состояния рабочего процесса (какое-либо описание ошибки, например «Электронная почта не может быть отправлена»?), Затем вы можете проверить журнал событий Windows на наличие ошибок (скорее всего, нет связанных ошибок) и, наконец, что наиболее важно, вы найдет описание ошибки и дополнительную информацию в ваших журналах ULS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...