нужно сделать задержку около 5 секунд между двумя действиями рабочего процесса дизайнера sharepoint - PullRequest
0 голосов
/ 15 февраля 2010

(доля 2007 года)

я создаю рабочий процесс sharepoint

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

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

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

но я верю, что в рабочем процессе дизайнера sharepoint минимальная пауза составляет 1 минуту, что намного больше, чем мне требуется.

что мне делать?

Ответы [ 3 ]

1 голос
/ 15 февраля 2010

в рабочем процессе дизайнера sharepoint есть опция для установки временной части даты / времени установите время 00: o5 для вашего поля даты (выходное значение переменной, определяемое пользователем как переменная) затем сделайте паузу до тех пор, пока источники не станут источником данных рабочего процесса. Ваше имя может быть изменено. Хорошо -> завершить рабочий процесс

1 голос
/ 15 февраля 2010
  1. Попробуйте обновить объект SPListItem, вызвав SPListItem.Update (), и посмотрите, поможет ли это.
  2. Если нет, то просто ответьте на свой вопрос: execute System.Threading.Thread.CurrentThread.Sleep ()

А если активировать задержку, ваш рабочий процесс будет сериализован в базу данных, и его будет вызывать только задание таймера (которое обычно выполняется не чаще, чем каждые 5 минут, даже если задержка активности установлена ​​на 1 минуту).

0 голосов
/ 15 февраля 2010

Добавьте код и используйте System.Threading.Thread.Sleep(5000);

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