IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SharePoint .NET Discussion :

Mettre à jour l'élément d'une liste [SP-2010]


Sujet :

SharePoint .NET

  1. #1
    Membre habitué Avatar de Gratiano
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2013
    Messages : 268
    Points : 153
    Points
    153
    Par défaut Mettre à jour l'élément d'une liste
    Bonjour,

    J'aimerais avoir des explications si possible sur cette action de flux de travail que je souhaite utiliser avec SharePoint Désigner.

    J'ai un formulaire de sélection de véhicule.
    Une fois la demande de véhicule faite, un Workflow demandant si le DG approuve est lancé.
    J'ai également une liste de véhicule avec une colonne Dispo de type CHOIX (Libre, Occupé, En réparation).
    Je souhaiterais qu'une fois que le DG accepte, la colonne Dispo se mette à jour en Occupé.

    Est ce possible avec l'action Mettre à jour l'élement de cette liste ?

    Pour le moment lorsque je fini de saisir les paramètres de cette action, SPD me dis que la requête va renvoyer plusieurs valeurs... et du coup ne fonctionne pas.

  2. #2
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Oui cela est faisable !
    Le message d'avertissement de SharePoint Designer n'est pas un problème
    En revanche, il est possible que dans ton cas il n'arrive pas à trouver l'item à modifier dans l'autre liste...

  3. #3
    Membre habitué Avatar de Gratiano
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2013
    Messages : 268
    Points : 153
    Points
    153
    Par défaut
    Merci ludojojo pour ton éclaircissement.

    En l'état actuel, j'arrive bien à mettre à jour un item de la liste Parc Automobile, mais c'est constamment le même (l'ID 5) qui passe en état Occupé.
    Or il y a 51 items dans la liste Parc Automobile, et mon workflow de "Mise à jour d'élément" ne prend pas en compte le choix fait par l'utilisateur dans la formulaire de Demande de Véhicule apparemment.
    Exemple : Il va sélectionné la véhicule Peugeot et lorsque que le DG à validé la demande, cela va mettre l'état occupé sur le véhicule Toyota, tout le temps le même (ID 5 de la liste Parc Automobile)

    Mon WF se présente comme suit :
    Si Elément en cours : Visa DG est égal à Acceptée
    Mettre à jour l'élément dans Parc Automobile
    Puis Consigner L'état du véhicule [%PArc Automobile:Titre%] est passé à : [%Parc Automobile: Dispo%] dans l'historique du flux de travail

    Le WorkFlow s'exécute dès la modif d'un élément

    Paramêtre de l'action Mettre à jour l'élément dans Parc Automobile :
    Liste: Parc Automobile
    Champ: Dispo Valeur: Occupé
    Rechercher l'élément de liste :
    Champ: Titre
    Valeur: Source de données: Elément en cours
    Champ de la source: Véhicule
    Retourner le champ en tant que: Comme Chaine

    Il doit y avoir une chose que je renseigne mal mais je ne sais pas quoi... une idée?

  4. #4
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Tu te bases sur le titre de ton item pour mettre à jour de l'autre liste...
    Rechercher l'élément de liste :
    Champ: Titre
    Valeur: Source de données: Elément en cours
    N'as-tu pas une autre information que tu puisses utiliser ? Es-tu certain que ton titre sera toujours unique ?

  5. #5
    Membre habitué Avatar de Gratiano
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2013
    Messages : 268
    Points : 153
    Points
    153
    Par défaut
    Oui le Titre est renseigné comme suit :
    TOYOTA YARIS 302GI01 (marque modèle et immatriculation)

    Donc tous les titres seront uniques.

    C'est d'ailleurs ce champ que les utilisateurs choisissent dans le menu déroulant du formulaire de Demande. Il y a un tri sur la source de donnée de ce menu déroulant qui ne propose que les véhicules dont le champ Dispo=Libre.

  6. #6
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Gratiano Voir le message
    Paramêtre de l'action Mettre à jour l'élément dans Parc Automobile :
    Liste: Parc Automobile
    Champ: Dispo Valeur: Occupé
    Rechercher l'élément de liste :
    Champ: Titre
    Valeur: Source de données: Elément en cours
    Champ de la source: Véhicule
    Retourner le champ en tant que: Comme Chaine
    Donc en gros en traduisant (plus ou moins) ça donne :
    Je veux mettre à jour, dans la liste "Parc Automobile", le champ "Dispo" à la valeur "Occupé", de l'élément qui à pour Titre la valeur du champ Véhicule de mon item courrant.
    Le champ véhicule est un Lookup ? Essaye de stocker la valeur dans un champ de type texte si c'est possible...


    De souvenir, (oui je n'ai pas travailler avec Designer depuis bien longtemps...) il me semble que si il ne trouve pas l'élément il prend le premier qu'il trouve. En gros ç'est équivalent au .SingleOrDefault() de linq.
    Donc je pense que dans ton cas il n'arrive pas à trouver l'élément que tu cherches. Si tu essayes avec une valeur plus simple, genre uniquement l'immatriculation, rencontres-tu le même problème ?

  7. #7
    Membre habitué Avatar de Gratiano
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2013
    Messages : 268
    Points : 153
    Points
    153
    Par défaut
    Citation Envoyé par ludojojo Voir le message
    Donc en gros en traduisant (plus ou moins) ça donne :
    Je veux mettre à jour, dans la liste "Parc Automobile", le champ "Dispo" à la valeur "Occupé", de l'élément qui à pour Titre la valeur du champ Véhicule de mon item courrant.
    Oui c'est exactement ça.

    Citation Envoyé par ludojojo Voir le message
    Le champ véhicule est un Lookup ?
    Non c'est un choix affiché sous forme de menu déroulant.

    Citation Envoyé par ludojojo Voir le message
    Donc je pense que dans ton cas il n'arrive pas à trouver l'élément que tu cherches. Si tu essayes avec une valeur plus simple, genre uniquement l'immatriculation, rencontres-tu le même problème ?
    Oui pareil avec l'immat.

    J'ai cherché à isoler mon problème en modifiant le workFlow comme suit :
    1/Si Element en cours:Visa DG est égal à Acceptée
    2/Définir Variable:IdVéhicule à la valeur Element en cours:Véhicule(comme chaine)
    3/Consigner La voiture sélectionnée est : [%Variable:IdVéhicule%] dans l'historique du flux de travail
    4/puis Mettre à jour l'élement dans Parc:Automobile (Liste: Parc Automobile, Champ: Dispo= Occupée, Champ ID, Valeur:Variable:IdVéhicule)
    5/Consigner L'état du véhicule [%Parc Automobile:Titre%] est passé à : [%Parc Automobile: Dispo%] dans l'historique du flux de travail

    Une fois executé, dans l'historique du flux de travail j'ai pour illustrer le 3/
    La voiture sélectionnée est : 5
    et pour illustrer le 5/
    L'état du véhicule TOYOTA PRADO "son Immat" est passé à : Occupée

    Quelque soit le choix du véhicule effectué dans la demande, le système enregistre le véhicule portant l'ID 5 dans ma liste Parc Automobile, effectivement la TOYOTA PRADO

    Ce n'est donc pas un pb de paramètrage de mon étape 4/ comme je pensais au début qui est mauvais.
    Le pb vient en amont.

    Quoi comprendre ?

  8. #8
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Ton problème semble ce situé au niveau de l'étape 3... La valeur de [%Variable:IdVéhicule%] est fausse, ce qui rend ton étape 4 fausse...
    Comment récupères-tu cette variable ?

  9. #9
    Membre habitué Avatar de Gratiano
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2013
    Messages : 268
    Points : 153
    Points
    153
    Par défaut
    Salut,

    Etape 2/
    Définir Variable: IdVéhicule à la valeur Element en cours: Véhicule

    Element en cours: Véhicule, paramètrage :
    Source de données : Element en cours (Liste Demande de véhicule)
    Champ de la source : Véhicule (Menu déroulant proposant uniquement les véhicule de la liste Parc Automobile dont le champ Dispo = Libre)
    Retourner le champ en tant que : Comme chaine (grisé dès que je choisie Véhicule, pas de choix possible)

  10. #10
    Membre habitué Avatar de Gratiano
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2013
    Messages : 268
    Points : 153
    Points
    153
    Par défaut
    Salut,

    J'ai essayé de stocker le véhicule dans un champ de type texte (en le renseignant manuellement)
    Et du coup cela fonctionne,
    l'élément de liste Parc Auto ayant pour Titre le même nom du champ texte du formulaire Demande de Véhicule, se modifie en état Occupé.

    Par contre j'avais utiliser un menu déroulant au départ pour permettre de choisir les véhicules en état Libre dans la liste Parc Auto.

    Comment reproduire ce besoin ?

    Puis je effectuer un choix dans ce menu déroulant qui renseigne automatiquement mon champ texte, ce dernier me permettant de mettre à jour l'élément de liste Parc Auto ?

  11. #11
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Points : 5 347
    Points
    5 347
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par Gratiano Voir le message
    Puis je effectuer un choix dans ce menu déroulant qui renseigne automatiquement mon champ texte, ce dernier me permettant de mettre à jour l'élément de liste Parc Auto ?
    Bonne nouvelle, cela veux dire que ton problème est dans ton formulaire et non dans ton workflow !
    Les listes déroulantes fonctionne avec un système Text/index, il faudrait s'assurer que la valeur sélectionnée renvoie bien le texte en non l'index... Essayes de stocker la valeur de ta liste déroulante dans un champ de type texte...

  12. #12
    Membre habitué Avatar de Gratiano
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2013
    Messages : 268
    Points : 153
    Points
    153
    Par défaut
    Aîe..

    J'ai ajouté l'action suivante en début de Workflow :
    Définir Voiture sélectionnée à la valeur Element en cours: Véhicule

    Voiture sélectionnée est un champ de type Text
    Véhicule est un choix sous forme de menu déroulant (qui pointe sur la source de donnée Parc Auto, requêtant uniquement les éléments dont Dispo=Libre)

    Sauf que Voiture sélectionnée affiche tout le temps 5 ou le Titre de cette ID (5) suivant la manière dont je souhaite que l'on me retourne le champ.

    Je comprend pas.

    Je sélectionne une PEUGEOT dans le menu déroulant du formulaire (effectivement ce véhicule est dit Libre dans la liste Parc Automobile)
    J'enregistre le formulaire saisi.
    Je modifie le formulaire pour y ajouter une pièce jointe
    Une fois cette modif faite, le workflow s'active correctement.
    Seulement je constate que mon item a récupéré 5 ou TOYOTA PRADO dans son champ Voiture Sélectionnée

    Cette TOYOTA PRADO portant l'ID 5 de ma liste Parc Auto n'est même pas dans ma liste de choix du menu déroulant du formulaire (car sa colonne Dispo = Occupé)

    Je perds patience si prêt du but

  13. #13
    Membre habitué Avatar de Gratiano
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Octobre 2013
    Messages
    268
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Alimentation

    Informations forums :
    Inscription : Octobre 2013
    Messages : 268
    Points : 153
    Points
    153
    Par défaut
    RE-SO-LU

    Je suis enfin parvenu à mes fins avec ce formulaire....

    Je m'entêtais à modifier mon Workflow afin qu'il récupère la valeur du menu déroulant du formulaire dans un champ texte.
    Il n'y avais rien a faire, cela reprenait toujours la même valeur (le fameux ID 5 !!!)

    Car en fait j'avais 2 menu déroulants superposés.
    Le 1er je l'avais créé depuis SharePoint, en faisant ajout de colonne, etc...
    Le 2nd je l'ai créer via SharePoint Designer (DVDropDownList) dans lequel j'avais filtré un source de données (liste Parc Automobile) pour avoir Dispo=Libre.
    C'est dans le paramétrage de ce DvDropDownList qu'était mon erreur.
    Je le faisait pointer vers mon 1er menu déroulant.

    Hors dès l'instant où j'ai fait pointé de DVDropDownList vers un champ Text, tout est rentré dans l'ordre.

    Merci Ludojojo pour m'avoir orienté vers l'erreur du formulaire et non l'erreur de workflow sur lequel je me battais depuis....

    Je ne sais pas si j'ai été clair mais en gros je m'étais inspiré de ce tuto au départ : Filtering lookup Columns
    avant que tout parte en ....

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [2.x] Mettre à jour certains éléments d'une liste sous condition
    Par cuscodkr dans le forum Symfony
    Réponses: 11
    Dernier message: 13/10/2014, 02h56
  2. Mettre à jour un champ avec une Liste déroulante
    Par Narutosaad dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/08/2010, 12h18
  3. mettre-à-jour l'ID d'une liste
    Par lesanglier dans le forum SharePoint
    Réponses: 6
    Dernier message: 05/01/2010, 13h55
  4. mettre à jour un élément d'une frame à partir d'une autre
    Par Nulenprogra dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 02/10/2007, 22h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo