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 :

Faire communiquer deux listes via Workflow ? [SP-2013]


Sujet :

SharePoint .NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut Faire communiquer deux listes via Workflow ?
    Bonjour,

    J'aimerais savoir si il était possible de faire communiquer deux listes (dans les deux "sens").

    Je m’explique :

    J'ai une liste de vente, une liste d'achat et une liste de clients.
    Pour faire une vente à un client, il faut auparavant faire un achat (je ne ponds pas encore ce que je vends, et ça n’apparaît pas non plus par magie ).

    Le besoin ici est de savoir exactement dans la liste client combien m'ont coûté et rapporté chacun des clients.

    Voici jusque la ce que j'ai tenté (je vais prendre l’exemple de la liste de vente) : j'ai un champ de recherche qui me permet d'aller chercher dans la liste de clients le client associé à ma vente. Quand je valide la vente, j'ai dans mon workflow (SharePoint 2013), un appel à un workflow (SharePoint 2010) qui pointe sur la liste de clients. J'y envois les différents montants via les variables d'initiation mais je bloque ensuite sur le champ "Cet élément" (quand vous appelez l'instruction "Demarrer un flux de travail de liste" sur Designer, vous avez 3 choses à renseigner : "Flux de travail de liste SharePoint 2010", "paramètres" et ce fameux "cet élément").

    Autant sur un workflow 2010 agissant sur le même élément de liste que celui Sharepoint 2013, je met juste "Current Item" mais vu que la ça agit sur l'élément pointé par le champ "client" (qui fait donc référence à un élément d'une autre liste), je ne vois pas quoi mettre.

    Quelqu'un saurait me dire quoi y mettre ?

    Merci d'avance.

  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
    Bonjour,

    J'ai quelque chose qui m'intrigue dans ton besoin. Tu utilises trois listes, mais tu sembles ne faire qu'une référence à chacune par item...
    En gros si j'ai bien compris, tu as quelque chose qui ressemble à :
    Un client = 1 achat + 1 vente
    Si c'est le cas, pourquoi utiliser des listes de références pour tes achats et tes ventes, autant le faire dans la même liste non ?

    Si j'ai mal compris et que tu as plusieurs achats/ventes possibles par client, dans ce cas, je te conseil d'utiliser plutôt le moteur de recherche avec une display template.
    L'avantage de cette technique c'est ce ça te permet de façon simple d'afficher tous les éléments de ta liste de client, et à l'aide du display template, d'afficher tous les achats/ventes correspondants...

    Une autre solution envisageable c'est d'utiliser des webparts liées via une connexion afin d'afficher les éléments des autres listes dans la même page, filtrés par rapport à la sélection faite par la liste des clients.
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut
    Bonjour !

    C'est pas exactement un client = 1 achat + 1 vente mais plutôt une vente = 1 achat + 1 client (pour faire une vente il me faut un client, normal, et un achat de "matière première"), du coup coté client, ce serait plus un client = x ventes (et donc x achats).

    Ensuite, la liste d'achat n'est pas utilisée qu'avec l'achat de matériel nécessaire aux vente mais aussi au matériel interne nécessaire à l'entreprise (genre les fournitures par exemple).

    Y'a pas moyen depuis un workflow d'aller récupérer l'élément pointé par un champ de recherche (qui pointe sur une colonne "lié à un élément") directement ?

  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
    Citation Envoyé par Karshick Voir le message
    Y'a pas moyen depuis un workflow d'aller récupérer l'élément pointé par un champ de recherche (qui pointe sur une colonne "lié à un élément") directement ?
    Normalement quand tu utilises l'action de modification d'un champ, tu peux choisir la source de données de ce champs et donc une autre liste de ton site... Reste à définir ta recherche de l'item par rapport à la valeur de ton champ de type lookup...
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut
    Merci, je suis parvenu à faire ce que je cherchais

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut
    Bon...

    Finalement, je bloque toujours. Je cherche à récupérer la valeur d'un champ présent dans une liste et la stocker dans une variable d'un workflow agissant sur une autre liste (même cas de figure, une liste vente et une liste clients).

    Je ne vois pas trop comment éxpliquer ma démarche à l'écrit, j'ai donc fait un screenshot.

    Nom : test.png
Affichages : 606
Taille : 18,2 Ko

    Dans la partie "Field data to retrieve", je vais chercher le champ "Cout Total" de la liste client.
    Dans la partie "Find the list item", je vais "connecter" la liste client avec ma liste de vente (enfin je crois...). J'y envoi donc le champ "Nom de la société" de la liste client et le champ "Client" de ma liste de vente (le champ "Client" est un champ de recherche qui pointe sur le champ "Nom de la société" de la liste Clients).

    J'essaie de faire comme en SQL avec les liaisons (client.nomSociété = vente.client).

    Or cela ne marche pas !

    Pourquoi ?

  7. #7
    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 as essayé de recherche ton client dans ta liste de vente via la valeur du texte au lieu de la valeur d'un lookup ?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut
    Si tu parle de la petite fenêtre Lookup for Single line of Text, le choix est grisé, je n'ai pas la possibilité de le changer .

    Je vais essayer de "bricoler" ca en mettant un champ text masqué permettant de récupérer le nom du client.

    Merci.

  9. #9
    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 Karshick Voir le message
    Je vais essayer de "bricoler" ca en mettant un champ text masqué permettant de récupérer le nom du client.
    C'est ce que je voulais dire, je me suis pas très bien expliqué désolé...
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut
    Bon...

    Je n'arrive pas à faire en sorte qu'une variable prenne le contenu de mon champ client.
    J'ai essayé avec un autre champ (de type "Une seule ligne de texte") et avec une variable de workflow (de type "Chaîne") et systématiquement le workflow se bloque à cette étape.

    (j'utilise l'action "Définir le champ dans l'élément actif" lorsque il s'agit d'un champ et l'action "Définir la variable de flux de travail" lorsque il s'agit d'une variable)

    Pourtant mon champ client est un champ recherche qui pointe sur un champ de type "Une seule ligne de texte"...

    J'essaierais de voir si ça vient du fait que ce champ client pointe sur un champ "Lié à un élément", mais si c'est le cas, ça m'ennuie de devoir m'en passer


    Edit : C'était effectivement à cause du fait que le champ client pointait sur un champ "Lié à un élément" que le workflow se bloquait.

    Du coup, problème résolu.

  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 Karshick Voir le message
    Edit : C'était effectivement à cause du fait que le champ client pointait sur un champ "Lié à un élément" que le workflow se bloquait.
    C'est pas étonnant, un champ de type lookup est particulier, il stoque des informations plus complexes qu'un simple lien... Il est donc pas possible de faire une comparaison de sa valeur pour comme le propose SharePoint designer !
    Citation Envoyé par Karshick Voir le message
    Du coup, problème résolu.
    Bonne nouvelle
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut
    Je ré-ouvre la discussion vu que j'ai besoin d'autres informations

    Ma liste de client a un peu évolué, j'ai maintenant un champ de recherche avec de multiples valeurs et qui pointe vers la liste de vente (ca me permet de lister les ventes réalisées pour chaque clients).

    Maintenant, comment, depuis un workflow lié à ma liste de vente, puis-je remplir ce champ de recherche présent dans ma liste de clients ?

    Au cas où ce soit pas clair, voici un exemple :

    Je rentre un élément "Toto" dans ma liste de vente dont le champ de recherche "Client concerné" pointe sur le client "Matt".
    Le traitement s'effectue et, à la fin du workflow (lié à l'élément "Toto" donc), j'ajoute "Toto" au champ de recherche "Ventes" de l'élément "Matt" de la liste Client.

    Merci d'avance.

  13. #13
    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 Karshick Voir le message
    JJe rentre un élément "Toto" dans ma liste de vente dont le champ de recherche "Client concerné" pointe sur le client "Matt".
    Le traitement s'effectue et, à la fin du workflow (lié à l'élément "Toto" donc), j'ajoute "Toto" au champ de recherche "Ventes" de l'élément "Matt" de la liste Client.
    Je ne suis pas sur que ce soit possible depuis un workflow... Tu vas être confronté au même problème que précédemment. Ce champ, n'est pas un champs classique, il est compliqué à manipuler...
    Tu peux éventuellement stoquer cette information dans un champs de type text riche avec des saut de ligne par exemple. A creuser !
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut
    Citation Envoyé par ludojojo Voir le message
    Je ne suis pas sur que ce soit possible depuis un workflow... Tu vas être confronté au même problème que précédemment. Ce champ, n'est pas un champs classique, il est compliqué à manipuler...
    Tu peux éventuellement stoquer cette information dans un champs de type text riche avec des saut de ligne par exemple. A creuser !
    Grmbl... Cette solution m'ennuie... (j'aurais aimé pouvoir bénéficier de liens directs vers les éléments de liste vente)
    Il n'y a pas moyen de remplir un champ lookup via un workflow ?

    J'ai essayé de regarder un peu à quoi ressemble un champ de recherche sous forme de texte (le champ recherche du client choisi comporte deux ventes) et ca me sors ca : {"results":[{"Id":38,"Value":"vente1"},{"Id":6,"Value":"vente2"}]}; où les ID représentent l'id de l'élément de liste et le value, leur titre (d'ailleurs, ca ressemble beaucoup à un fichier CSV... j'espère que l'architecture de la base de donnée sharepoint n'est pas sous cette forme).

    Edit : j'avais zappé le mot "riche" de ton post, je vais voir si j'ai moyen de mettre une balise <a href> dedans.
    Si c'est possible, ca correspondrait à ce que je voudrais

  15. #15
    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 Karshick Voir le message
    J'ai essayé de regarder un peu à quoi ressemble un champ de recherche sous forme de texte (le champ recherche du client choisi comporte deux ventes) et ca me sors ca : {"results":[{"Id":38,"Value":"vente1"},{"Id":6,"Value":"vente2"}]}; où les ID représentent l'id de l'élément de liste et le value, leur titre (d'ailleurs, ca ressemble beaucoup à un fichier CSV... j'espère que l'architecture de la base de donnée sharepoint n'est pas sous cette forme).
    Cette mise en forme ressemble d'avantage à du Json je trouve...
    Mais c'est une très bonne analyse, c'est exactement le fonctionnement de ce champs. Après il est possible de créer tes propres champs, mais cela demande un développement pas forcément à la porté de tout le monde...
    Pour ce qui est de la base de données, elle est classique, et la gestion des lookup se fait par le biais de tables de jointures.

    Citation Envoyé par Karshick Voir le message
    j'avais zappé le mot "riche" de ton post, je vais voir si j'ai moyen de mettre une balise <a href> dedans.
    Si c'est possible, ca correspondrait à ce que je voudrais
    Oui il est possible de mettre des liens dedans !
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  16. #16
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut
    Bon, j'ai encore un problème et je comprends absolument pas du tout pourquoi.

    J'essaie de récupérer le contenu de mon champ de texte riche et de foutre ca dans une variable (avec l'action définir la variable du flux de travail, j'y vais chercher le champ Vente de ma liste Client et je lie le Nom du Client de ma liste Client avec le nom du Client de ma liste Vente). Ensuite, je réinjecte tout ca dans une autre variable suivi du lien menant vers la vente actuelle. Pour garder la mise en forme, je choisi "Comme Chaine" dans le champ "Return field as" (Oui, j'ai un designer franglais)

    Ça a l'air simple mais problème : la première variable est... vide (alors que le champ ne l'est pas, lui), du coup au lieu d'ajouter mon lien à la fin, je ne fais que remplacer l’existant.

    Pourquoi ?

  17. #17
    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
    Essaye de suivre cet exemple.
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  18. #18
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2012
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2012
    Messages : 121
    Points : 173
    Points
    173
    Par défaut
    Merci, mais j'ai vu ton post trop tard

    J'ai opté pour une autre solution, je passe à un workflow 2010 lié à la liste de client l'id et le titre de mon élément de vente et ensuite j'ai juste à récupérer le contenu du champ texte riche et y ajouter un href.
    Du coup, j'obtient bien ce que je veux.

    (seul petit détail, je ne sais pas pourquoi mais dans le champ texte riche, il rajoute un <br> après la première valeur. Ce qui fait que j'ai ma 1ere vente, une ligne vide et toutes les autres ventes)

  19. #19
    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 Karshick Voir le message
    (seul petit détail, je ne sais pas pourquoi mais dans le champ texte riche, il rajoute un <br> après la première valeur. Ce qui fait que j'ai ma 1ere vente, une ligne vide et toutes les autres ventes)
    Peut-être as tu inséré un caractère "retour chariot" dans ton champs ? Sinon c'est peut-être dû au type de champ. Tu as essayé de voir avec un autre champ si tu as le même problème ?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

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

Discussions similaires

  1. Faire communiquer deux applications via internet
    Par Montor dans le forum Langage
    Réponses: 4
    Dernier message: 29/12/2012, 19h50
  2. Faire communiquer deux programmes python
    Par bestdomdom dans le forum Général Python
    Réponses: 5
    Dernier message: 26/10/2006, 09h30
  3. Faire communiquer deux applications
    Par thierrybatlle dans le forum Langage
    Réponses: 1
    Dernier message: 31/01/2006, 09h37
  4. comment faire communiquer deux form MDI?
    Par eponette dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2005, 12h20
  5. [Technologie][Stratégie] Faire communiquer deux applis
    Par KitsuneSama dans le forum Général Java
    Réponses: 13
    Dernier message: 21/06/2004, 17h25

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