Syndication : Atom 1.0  RSS 2.0
Blogs des développeurs   »   Les tutos de lolo

Article complet: [SharePoint 2010]Comment changer la valeur d’un item d’une autre liste

24/01/2012

Permalink 22:22:57, Catégories: Récapitulatif Office, Sharepoint 2010, Développement, 740 mots   French (FR) , laurentvalente

[Office] [SharePoint 2010]Comment changer la valeur d’un item d’une autre liste

 

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.

[Suite:]

Voilà mes deux listes :

nb1

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 :

nb3

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é.

nb4

On renseigne le nom du workflow et sa description (optionnel).

Voilà comment se présente le workflow au départ :

nb5

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

nb6

Voici ce que ça affiche :

nb7

On clique sur le value le plus à gauche : Calculate Value. Puis sur le bouton fx

nb8

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 :

nb9

Maintenant on veut faire ce champ moins 1 donc on change le plus en minus pour faire moins

nb10

Pour la seconde value il suffit de mettre 1 comme suit

nb11

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 :

nb12

En supposant qu'order contient le nombre de participants voulant s'inscrire au cours

Fin de l'option.

Donc on a l'écran suivant :

nb13

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 :

nb14

Donc on arrive au résultat suivant :

nb15

Il nous suffit de cliquer sur this list :

nb16

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.

nb17

Ici la datasource est l'ensemble des variables du workflow, le champ est la variable calc. On clique sur ok

nb18

Encore ok

nb19

Maintenant il faut préciser sur quel cours on doit affecter cette valeur donc cela se passe dans la partie Find the list item.

nb20

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 :

nb21

On fait ok. On a le message suivant :

nb22

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.

nb23

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:

nb24

Maintenant on publie notre workflow et on va le tester.

On revient sur notre liste participant et on fait Add item,

nb25

Donc là le nombre de places disponibles dans le cours initiation Word doit passer de 20 à 19.

nb26

Done ;)

Social Bookmarking:

                                     

Adresse de trackback pour cet article:

http://blog.developpez.com/htsrv/trackback.php?tb_id=10674

Commentaires, Trackbacks, Pingbacks:

Connectez-vous pour vous abonner à cet article:

Flux de commentaires pour cet article : Atom 1.0  RSS 2.0

Cet article n'a pas de Commentaires/Trackbacks/Pingbacks pour le moment...

Vous devez être identifié pour poster un commentaire.

Liste des blogs

Les tutos de lolo

L'idée de ce blog est de vous faire partager mes connaissances, les problèmes que j'ai rencontrés et des idées.

Quelques tutoriaux qui peuvent servir

Rechercher

<  Avril 2012  >
Lun Mar Mer Jeu Ven Sam Dim
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

Syndiquez ce blog XML

Articles :

Commentaires :

 
 
 
 
Partenaires

Hébergement Web