none
Workflow Sharepoint sous VS 2008 sur plusieurs listes : pour expert RRS feed

  • Question

  • bonjour,
    je souhaite developper un Workflow sharepoint sous visualstudio 2008,ce WKFL copie des elements d'une liste vers une autre liste à chaque etape et il doit attendre que l'element copié soi mis à jour (ds la liste destination) par un utilisateur avant d'etre copié vers une autre liste.
    donc le workflow doit avoir comme une sorte de listner sur les autre liste, est ce que vous avez une idee sur l implémentation de ce genre de workflow
    Merci 
    lundi 8 février 2010 09:55

Réponses

  • En fait après reflexion j'ai dis une bétise :)

    je verrais bien :

    • le workflow de la liste 1 crée une SPWorkflowTask par code (le workflow 1 se met alors en attente)
    • récupération de l'ID de la tache à sa création
    • copie de l'élément dans la liste 2 en inscrivant l'ID de la tache dans une colonne cachée
    • sur event receiver d'un élément de la liste 2, on récupère la tache (grace à son ID)
    • modification du statut de la tache sur completed (on peut alors passer d'autres informations dans un champ du SPTaskItem si besoin)
    • le workflow 1 est réactivé automatiquement avec une activité de type OnTaskChanged
    • copie de l'élément dans la liste 3

    L'event receiver de la liste 2 peut aussi être un workflow

    Un exemple d'implementation de workflow avec tache : http://www.devx.com/webdev/Article/34032/0/page/1


    http://blogs.developpeur.org/anouvel
    Merci de valider les réponses qui correspondent à votre problème afin qu'il apparaisse comme résolu.
    • Proposé comme réponse Arnault Nouvel mercredi 10 février 2010 23:06
    • Marqué comme réponse Arnault Nouvel vendredi 12 février 2010 11:57
    mercredi 10 février 2010 23:06

Toutes les réponses

  • Bonjour,

    Un listener sur une autre liste ne me parait pas implémentable, il faut prendre le problème sous un autre angle.
    Un workflow ne peut porter que sur un élément de liste, il va donc falloir piloter le workflow (de la liste 1) depuis un autre workflow (liste 2) ou un event receiver (liste 2).

    Le workflow 1 de la liste 1 copie l'élément dans la liste 2, il pourrait alors, dans une colonne supplémentaire, renseigner l'identifiant du workflow 1 au moment de la copie. Côté liste 2, sur la mise à jour de l'événement, l'évent receiver pourrait alors récupérer l'identifiant du workflow dans cette nouvelle colonne et faire avancer celui-ci.

    Est-ce que cela correspondrait à votre problématique ?
    http://blogs.developpeur.org/anouvel
    Merci de valider les réponses qui correspondent à votre problème afin qu'il apparaisse comme résolu.
    • Proposé comme réponse Arnault Nouvel mercredi 10 février 2010 08:55
    mercredi 10 février 2010 08:55
  • Merci Beaucoup Arnault pour votre réponse,
    oui je vois ce que vous voulez dire,mais comment faire avancer le workflow en ayant son id au niveau de la deuxième liste.
    Merci encore une fois.
    mercredi 10 février 2010 12:47
  • En fait après reflexion j'ai dis une bétise :)

    je verrais bien :

    • le workflow de la liste 1 crée une SPWorkflowTask par code (le workflow 1 se met alors en attente)
    • récupération de l'ID de la tache à sa création
    • copie de l'élément dans la liste 2 en inscrivant l'ID de la tache dans une colonne cachée
    • sur event receiver d'un élément de la liste 2, on récupère la tache (grace à son ID)
    • modification du statut de la tache sur completed (on peut alors passer d'autres informations dans un champ du SPTaskItem si besoin)
    • le workflow 1 est réactivé automatiquement avec une activité de type OnTaskChanged
    • copie de l'élément dans la liste 3

    L'event receiver de la liste 2 peut aussi être un workflow

    Un exemple d'implementation de workflow avec tache : http://www.devx.com/webdev/Article/34032/0/page/1


    http://blogs.developpeur.org/anouvel
    Merci de valider les réponses qui correspondent à votre problème afin qu'il apparaisse comme résolu.
    • Proposé comme réponse Arnault Nouvel mercredi 10 février 2010 23:06
    • Marqué comme réponse Arnault Nouvel vendredi 12 février 2010 11:57
    mercredi 10 février 2010 23:06
  • Merci Arnault pour tes explications  te pour le temps que vous avez consacré à mon probléme, c'est enrichissant
    vendredi 12 février 2010 09:12
  • de rien :)

    je marque donc comme réponse
    http://blogs.developpeur.org/anouvel
    Merci de valider les réponses qui correspondent à votre problème afin qu'il apparaisse comme résolu.
    vendredi 12 février 2010 11:57