Un des nouveaux modèles que je trouve dans l'élaboration de solutions SharePoint exploite les flux de travail SharePoint Designer et un récepteur d'événements.
Voici un scénario d'entreprise en contexte:
- Télécharger un document à un lib doc.
- Je coup de flux de travail en plusieurs étapes, créé à l'aide de SharePoint Designer.
- À un certain moment au cours de ce processus, flux de travail affecte une tâche à quelqu'un (recueillir des données de l'utilisateur ou assigner une tâche).
- Nous voulons utiliser un indicateur de performance clé pour suivre combien de temps cette tâche est en attente d'achèvement. L'indicateur de performance clé montre verte pour les tâches qui sont accomplies ou régulière plus de 3 jours a partir de maintenant. Il montre jaune si la tâche doit être effectuée demain ou aujourd'hui. Elle brille en rouge si la tâche est en souffrance.
- Voici le kicker: Je veux que la date à laquelle les lecteurs qu'IRC d'être conscient-vacances.
Je ne peux pas calculer un prenant en charge les vacances due date très facilement dans le flux de travail SharePoint Designer. Je devrais créer une action personnalisée ou utiliser un outil tiers 3e. Cependant, Il est assez facile de calculer une telle date dans un récepteur d'événements. Fusionner ces deux ensemble et nous obtenons un modèle comme celui-ci:
- Définir un Oui caché et aucune colonne de site sur la bibliothèque de documents n'étiquetés « DoCalcualteDueDate ».
- Initialiser à false.
- Au moment opportun dans le flux de travail (e.g. juste avant la « collecte de données" action), Affectez cette valeur à True.
- Un ItemUpdate() récepteur d'événements attend de voir si DoCalculateDueDate »" a la valeur true. Étant donné que le récepteur d'événements s'exécute sur chaque mise à jour, « DoCalculateDueDate" est normalement faux.
- Lorsque le workflow assigne DoCalculateDueDate true, le récepteur calcule le vacances-aware due date.
- Lorsque le récepteur d'événements est ce calcul, Il définit l'indicateur DoCalculateDueDate sur false.
En fin de compte, Flux de travail SPD est communiqué avec un récepteur d'événements via le sémaphore de DoCalculateDueDate et nous avons vacances prenant en charge due dates assignées pour le moment tout à fait correct dans la vie du flux de travail. Les contrôles SharePoint Designer lorsque la date d'échéance est assignée, mais le récepteur d'événements effectue le calcul réel et affectation.
</fin>