Одна из новых моделей, которые я нахожу в разработке решений SharePoint использует рабочий процесс SharePoint Designer и приемника событий.
Вот бизнес-сценарий, чтобы положить его в контексте:
- Загрузить документ к doc lib.
- Я стартует многоэтапный процесс, созданный с помощью SharePoint Designer.
- В какой-то момент в ходе этого процесса, Рабочий процесс назначает задачу кому-то (через сбор данных от пользователя или назначить задачу).
- Мы хотим использовать KPI для отслеживать, как долго эта задача ожидает завершения. Ключевой индикатор производительности показывает зеленый для завершенных задач или должной более чем 3 дней от текущего момента. Он показывает желтую, если задача завтра или сегодня. Он показывает красный, если задача является просроченной.
- Вот критикан: Я хочу, что диски что КПИ отдавать праздник Дата.
Не удается вычислить праздник знают свое Дата в SharePoint Designer рабочий процесс очень легко. Я бы для создания настраиваемого действия или использовать средство 3rd партия. Однако, Это достаточно легко рассчитать такую дату в приемник событий. Объединить эти два вместе, и мы получаем шаблон как это:
- Определить скрытый да/нет столбца узла библиотеки документов под названием «DoCalcualteDueDate».
- Инициализировать значение false.
- В соответствующее время в рабочем процессе (Например. незадолго до «сбор данных" действия), назначить это значение True.
- ItemUpdate() приемник событий с нетерпением увидеть, если «DoCalculateDueDate" верно. Так как приемник событий запускается при каждом обновлении, «DoCalculateDueDate" обычно неверно.
- Когда рабочий процесс назначает DoCalculateDueDate значение true, приемник событий вычисляет праздник известно должного Дата.
- Когда получатель событий делает этот расчет, Он устанавливает флаг DoCalculateDueDate значение false.
В конце концов, СПД рабочего процесса передается с приемника событий через DoCalculateDueDate семафор и у нас есть праздник известно из-за даты, которые назначаются в точно правильный момент в жизни рабочего процесса. Элементы управления SharePoint Designer при назначении даты, но приемника событий выполняет фактический расчет и назначение.
</конец>