Вопрос

У меня возникла проблема, связанная с рабочими процессами Sharepoint и связанным списком задач.

У меня есть два пользовательских рабочих процесса, которые мы создали для нашего продукта.Оба они используют один и тот же список задач с настраиваемым типом контента, наследуемым от типа контента задачи.

Теперь у меня есть случай, когда запущенный рабочий процесс был удален через список или документ, что привело к появлению потерянных задач.

Я хочу перезаписать событие OnDeleting списков задач, чтобы пользователи могли очищать свои задачи и не содержать ненужных потерянных задач.Итак, мое удаление элемента выглядит так

public override void ItemDeleting(SPItemEventProperties properties)
{
   SPListItem currentListItem = properties.ListItem;
}

Проблема в том, что когда я перехожу в режим отладки и проверяю поле currentListItem.Workflows.Count, оно всегда равно 0.Неважно, какой рабочий процесс я инициирую или какую задачу смотрю, возвращаемая SPWorkflowCollection всегда пуста :(

Мне было интересно, может ли это быть связано с ошибкой в ​​нашем пользовательском рабочем процессе, где он не подключен должным образом (но завершается правильно, а задачи удаляются при завершении рабочего процесса), или я смотрю на это неправильно?

Это было полезно?

Решение

А currentListItem В вашей области действия находится сам элемент задачи, а не элемент списка, с которым выполняется рабочий процесс.Задание не делает с ним работает рабочий процесс, поэтому ожидается нулевой счетчик.

Если вы пытаетесь перейти к задачам рабочего процесса, связанным с рабочими процессами удаляемого элемента, вам понадобится обработчик событий такого типа на каждый список рабочий процесс активирован, а не в списке задач, который рабочий процесс использует для хранения своих задач.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top