Sharepoint рабочий процесс создания нового элемента задачи дважды?(SP 2007) - PullRequest
1 голос
/ 15 января 2012

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

Пользователь создает новый элемент в списке и сохраняет - он может редактировать элемент, пока он не утвержден (следующий шаг).

Администратор Утвердить элемент - запустить первый рабочий процесс

Create new Task Item in relevant list

Рабочий процесс создания нового элемента задачи запускается автоматически при создании

IF
  matching item in Copy list, send warning email and exit.
ELSE
  Create item in "Copy" list

Это означает, что, если по какой-либо причине Элемент будет утвержден дважды, и будут созданы две задачи (например, два администратора утверждают одновременно), то отправляется предупреждающее электронное письмо, чтобы предотвратить выполнение обеих задач.

Однако, только изредка, и при обстоятельствах, когда я не могу работать, НИКАКОЕ предупреждение не отправляется. Созданы две задачи, элемент находится в списке копирования, но не приходит предупреждающее сообщение.

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

Я посмотрел на временные метки в Задачах и Копировании, и элемент Создать копию и первый элемент Создать идентичны ... со второй датой создания Задачи будет минута спустя. Насколько я понимаю, это означает, что второе задание WF должно каждый раз находить элемент Копия?

Я перепробовал множество сценариев, когда пользователь и два администратора одобрили / сохранили элемент одновременно. Это правильно запустило 3 рабочих процесса (новые задачи) И сгенерировало два предупреждающих сообщения. Я не могу понять, как заставить рабочий процесс вызывать сообщение НЕ отправлять предупреждение.

Любые идеи о том, как это сломать и отладить?

Или, что еще лучше, как предотвратить это?

Кстати: я довольно новичок в SharePoint / SP Designer!

1 Ответ

1 голос
/ 17 января 2012

Из описания звучит так, как будто два утверждения выполняются одновременно.Это возможно, потому что он может обрабатывать оба утверждения одновременно, а список копий еще не заполнен первым элементом, поэтому сравнивать второй элемент не с чем.(представьте, что список блокируется во время записи первого элемента, чтение второго элемента всегда будет неудачным).

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

Чтобы обойти это, я бы предложил, чтобы при утверждении вы добавили что-то вроде «утвердить отметку времени»к текущему пункту.Затем вы можете предотвратить его повторное утверждение, проверив наличие метки времени утверждения в текущем элементе (если она существует, отклоните утверждение).

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

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