mars
2012
L’idée est la suivante :
- J’ai une liste de cours qui contient le nom du cours et le nombre de place disponible dans ce cours.
- J’ai une liste participant qui contient le nom du participant et le nom du cours auquel il veut participer (champ lookup qui pointe sur le nom du cours de la liste cours, on associera le nombre de places disponibles pour une meilleure lisibilité).
- Quand j’inscris un participant à un cours je veux que le nombre de place disponibles dans ce cours diminue de 1.
Voilà mes deux listes :
On voit qu’au départ on a
20 places pour l’initiation Word
15 places pour le Word avancé
5 places pour l’Excel
On va maintenant créer un workflow pour pouvoir gérer les inscriptions.
On ouvre SharePoint designer on va dans workflow puis on sélectionne workflow de liste :
On sélectionne la liste des participants parce que c’est sur l’ajout d’un item dans cette liste que le Workflow sera lancé.
On renseigne le nom du workflow et sa description (optionnel).
Voilà comment se présente le workflow au départ :
Voici les étapes que nous allons mettre en place :
Comme on ne peut pas mettre une valeur directement dans le champ d’une autre liste on va calculer la nouvelle valeur de ce champ puis lui affecter.
Etape 1 : Calculer la valeur du champ nombre de places disponibles
On fait Action puis faire un calcul
Voici ce que ça affiche :
On clique sur le value le plus à gauche : Calculate Value. Puis sur le bouton fx
Dans la boite de dialogue on va sélectionner le current item, pour rappel on est sur la liste des participants qui contient un champ Lookup sur le nom du cours de la liste cours et on a lié le champ nbre de places disponibles.
C’est donc le champ lié nombre de places disponibles qui nous intéresse.
Par défaut, puisque ce champs est numérique le return field as nous propose double mais c’est le champ lookup value qu’il faut prendre (sinon ça marche pas !!).
Voici ce que ça donne :
Maintenant on veut faire ce champ moins 1 donc on change le plus en minus pour faire moins
Pour la seconde value il suffit de mettre 1 comme suit
Option :
A ce niveau si un avait le nombre de participant voulant s’inscrire au cours on aurait fait fx puis la sélection suivante :
En supposant qu’order contient le nombre de participants voulant s’inscrire au cours
Fin de l’option.
Donc on a l’écran suivant :
La variable calc est automatiquement crée (on peut changer de nom si on veut mais peu d’intérêt à ce niveau.
Maintenant on va affecter la variable calc au champ nbre de places disponible de la liste cours.
Donc on rajoute une action de type Update list item comme suit :
Donc on arrive au résultat suivant :
Il nous suffit de cliquer sur this list :
On choisit la liste Cours puis on clique sur le bouton Add pour sélectionner le champ sur lequel on va assigner une valeur ici c’est Nbre de places disponibles.
On va cliquer sur fx pour aller chercher la valeur de la variable calc.
Ici la datasource est l’ensemble des variables du workflow, le champ est la variable calc. On clique sur ok
Encore ok
Maintenant il faut préciser sur quel cours on doit affecter cette valeur donc cela se passe dans la partie Find the list item.
Dans la partie Field on choisit le champ nom du cours qui vient de la liste cours. Dans le champ value on clique sur fx et dans la popup qui s’ouvre on va prendre dans le current item le champ nom du cours et comme précédemment on va retourner le champ en tant que lookup value.
Voici le résultat :
On fait ok. On a le message suivant :
Ceci n’est pas grave on fait yes.
Notre workflow est prêt il faut maintenant déterminer quand est ce qu’il se lancera, pour cela on clique sur Workflow settings.
La fenêtre paramètre de workflow s’ouvre, on va juste paramétrer le lancement du workflow sur ajout de nouvel item dans la liste participant comme suit:
Maintenant on publie notre workflow et on va le tester.
On revient sur notre liste participant et on fait Add item,
Donc là le nombre de places disponibles dans le cours initiation Word doit passer de 20 à 19.
Done
Articles récents
- [SharePoint 2010]Faire un workflow approbation sous SharePoint foundation 2010
- [SQL Server]Saga transact-SQL Episode 6 : Les sous requêtes
- [SQL Server]Saga transact-SQL Episode 5 : Les jointures de tables
- [SQL Server]Saga transact-SQL Episode 4 : Grouper et organiser les données
- [SQL Server]Saga transact-SQL Episode 3 : Retrouver les données avec un SELECT