Один з нові моделі я знаходжу у виробленні рішень SharePoint використовує робочого циклу SharePoint Designer і захід-приймач.
Ось бізнес сценарій, щоб покласти його в контексті:
- Я завантаження документа до doc lib.
- Я пнуть багатоетапний робочий процес, створений за допомогою SharePoint Designer.
- В якийсь момент під час цього процесу, робочий процес призначає завдання кому-то (через збір даних від користувача або призначити завдання).
- Ми хочемо використовувати KPI відслідковувати, скільки часу це завдання очікує завершення. KPI показує зелений для завдань, які будуть завершені або з-за більш ніж 3 днів по тому. Це показує, жовтий, якщо завдання пов'язано завтра або сьогодні. Це показує, червоний, якщо прострочені завдання.
- Ось футболіст: Я хочу, щоб дати, що диски цього KPI свято-знати.
Неможливо розрахувати свято aware due Дата в робочого циклу SharePoint Designer дуже легко. Я створити настроювану дію або використовувати 3rd party інструмент. Однак, Це досить легко обчислити дату в подія-приймач. Об'єднати ці дві разом і отримуємо картина, як це:
- Визначити приховані так/ні стовпець сайту в бібліотеці документів поміченому "DoCalcualteDueDate".
- Ініціалізувати його ХИБНІСТЬ.
- На певному етапі робочого процесу (Наприклад. перед "збирання даних" Дія), призначити значення на True.
- На ItemUpdate() подія приймач дивиться, щоб побачити, якщо "DoCalculateDueDate" Правда. Оскільки подія приймач працює на кожному оновленні, "DoCalculateDueDate" зазвичай ХИБНІСТЬ.
- Коли робочий процес призначає DoCalculateDueDate до істини, подія приймач обчислює свято aware належної дати.
- Коли подія приймач робить цей розрахунок, Вона встановлює DoCalculateDueDate прапор на false.
Врешті-решт, СДПН робочого процесу спілкувалися з подією одержувача через семафора DoCalculateDueDate і ми маємо свято aware належної дати, які призначаються точно правильний момент у житті робочого процесу. SharePoint Designer контролює, коли призначено у встановлений термін, але події приймач виконує фактичний розрахунок і призначення.
</кінець>