Я использую MOSS 2007 и разработал набор довольно простых настраиваемых действий рабочего процесса для использования в SharePoint Designer, которые управляют разрешениями на уровне элементов (нарушают наследование, повторно наследуют, отменяют любой доступ без прав администратора, предоставляют доступ пользователю , так далее). Все они прекрасно работают, за исключением того, что они кажутся слишком быстрыми в рабочих процессах Например, если мой рабочий процесс состоит из следующих шагов:
- Записать сообщение «А» в список истории
- Обновить элемент в другом списке
- Отменить весь доступ к этому элементу списка для текущего пользователя
- Записать сообщение "Z" в список истории
Я увижу сбой рабочего процесса, и список истории будет выглядеть примерно так:
- "А"
- Отзыв доступа
- Ошибка, у пользователя нет доступа к элементу
Чтобы обойти это, я решил добавить действия «Пауза на 3 минуты» в мои рабочие процессы, прежде чем вносить какие-либо изменения в разрешение (которое фактически приостанавливается на 3–8 минут). Это устраняет ошибки, но добавляет значительные задержки моим рабочим процессам (особенно если необходимо несколько изменений разрешений, например, при создании нескольких параллельных элементов задачи и ограничении этих элементов только тем, кому они назначены).
Могу ли я что-нибудь сделать в коде моей пользовательской активности, чтобы убедиться, что предыдущие шаги в рабочем процессе завершены до начала действия?