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 :

Lancement d'un WorkFlow à la suppression d'un élément [SP-2013]


Sujet :

SharePoint .NET

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 54
    Points : 42
    Points
    42
    Par défaut Lancement d'un WorkFlow à la suppression d'un élément
    Bonjour,

    J'ai en fait un workflow qui me permet de compter différents éléments de liste pour diverses tâches. Mais mon problème étant que si l'utilisateur supprime un élément de liste mon compteur sera forcement faux et tout le traitement en aval sera faux. Est-il possible de démarrer un workflow sur la suppression d'un élément?

    PS: je travaille sur sp 2013 avec des workflow 2010 .

    Cordialement

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Bonjour,

    Pas de workflows sur l'evenement de suppression. La toute simple raison est qu'un workflow lie a un element a besoin de cet element pour s'executer jusqu'a la fin.

    Le seul moyen pour vous brancher a cet evenement est l'utilisation d'un event receiver.

    http://msdn.microsoft.com/en-us/libr...ffice.14).aspx

    Si vous voulez garder la main via un mode declaratif sur la logique des compteurs, utilisez un workflow de site que vous lancerez de maniere synchrone via l'event receiver de suppression.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Merci pour votre réponse
    D'accord, mais je n'ai plus besoin de l'élément en question. J'ai juste besoin de savoir que l'utilisateur à décidé de supprimer cet élément de liste et à ce moment de faire une incrémentation de compteur présent dans une autre liste.

    Par la même occasion , je me posé une question : est-il possible de vider complètement une liste? cad , après avoir supprimer tout les éléments et vidé la corbeille pouvoir recréer un nouvelle élément avec l'ID = 1 ?

    merci

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Bonjour,

    Citation Envoyé par xangdar Voir le message
    savoir que l'utilisateur à décidé de supprimer cet élément de liste et à ce moment de faire une incrémentation de compteur présent dans une autre liste.
    Cf. le precedent message lien avec les event receivers.

    Citation Envoyé par xangdar Voir le message
    est-il possible de vider complètement une liste? cad , après avoir supprimer tout les éléments et vidé la corbeille pouvoir recréer un nouvelle élément avec l'ID = 1
    Pour le reset de la liste, le plus simple mais pas forcement propre (consommation d'espace en base de donnees) est la suppression de la liste et creation d'une nouvelle instance de liste a partir du modele de liste. Il n'y a pas d'autre moyen a ma connaissance pour que le compteur d'ID soit reinitialise.

    Cependant avec cette methode je ne suis pas certain que l'event receiver de suppression fasse son boulot. Je recommande donc une suppression niveau item avant la suppression de la liste. Tout depend du nombre d'items que vous devez gerer, mais en general un besoin de vidage de liste complete implique l'utilisation d'une suppression par batch processing (+ vidage corbeille).
    Un exemple d'implementation en powershell : http://bramnuyts.be/2013/05/16/remov...arepoint-list/

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    Encore merci, mais étant débutant je ne vois pas du tout comment mettre en place l'event receiver... Quelques pistes a me donner?

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Bien sûr,

    Citation Envoyé par xangdar Voir le message
    Quelques pistes a me donner?
    MSDN :
    http://msdn.microsoft.com/fr-fr/library/ff398052.aspx
    http://msdn.microsoft.com/fr-fr/library/ee231563.aspx

    Sinon tente une recherche avec les mots cles "sharepoint 2013 event receiver" sur ton moteur de recherche préféré. Il y a pléthore d'exemples en ligne, tutos vidéo ou illustrés également.

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    D'accord merci pour les liens . Entre temps j'ai trouvé une autre solution mais je vais tout de même creuser au niveau des events receiver ça m'a l'air plutot intéressant.

    Par contre j'ai une autre question, pour répondre à me besoin de lancement de workflow à la suppression j'ai utilisé une action personnalisée que j'ai nommé Suppression. J'ai aussi joué avec les droits afin que les membres du site ne peuvent pas supprimer d'éléments.
    Mon action lance bien mon WorkF et supprimer ensuite l'élément à la fin. Jusque la tout va bien le seul problème étant que quand je lance mon action personnalisé suppression il me demande si je veux bien lancer le WF , je clique donc sur démarrer (il s’exécute en tache de fond mais reste sur la page voulez vous démarrer le WF... ) je pense que cela est du au pop-up ...

    J'aimerai pouvoir démarrer automatiquement mon WF sur l'appui de l'action perso Suppression. Sans devoir recliquer sur démarrer.

    Des idées?

    mercier

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 486
    Points : 2 082
    Points
    2 082
    Par défaut
    Ok, j'imagine que vous avez fait ca avec SPDesginer et cree la custom action pour demarrer un workflow?

    Concernant la redirection de page post-demarrage, je n'ai pas pu reproduire le probleme dans mon environnement.

    Citation Envoyé par xangdar Voir le message
    J'aimerai pouvoir démarrer automatiquement mon WF sur l'appui de l'action perso Suppression. Sans devoir recliquer sur démarrer.
    C'est un probleme completement different que j'aurai du mal a resoudre nativement.
    Solution 1 : Recreer la custom action via visual studio et faire en sorte que l'evenement click demarre le workflow (JS + appel webservice)
    http://msdn.microsoft.com/en-us/libr...ffice.12).aspx

    Solution 2 : Developper une page applicative (deployer dans layouts) qui prenne en parametre listId, itemId, workflowName. En code behind evenement OnLoad, utiliser ces parametres pour demarrer le workflow associe a l'item. Dans SPDesigner, modifier votre custom action non pas pour demarrer un workflow mais naviger vers une Url, utilisez les tokens url pour fournir les parametres a la page.

  9. #9
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2014
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2014
    Messages : 54
    Points : 42
    Points
    42
    Par défaut
    D'accord merci beaucoup !
    C'est vraiment très capricieux sharepoint ! dès que l'on sort un peu des fonctionnalités de base c'est une vrai usine à gaz

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

Discussions similaires

  1. [SP-2010] Echec au lancement d'un workflow
    Par Stef86 dans le forum SharePoint
    Réponses: 4
    Dernier message: 05/11/2014, 17h02
  2. Lancement automatique de Workflow
    Par Naoiche dans le forum Développement Sharepoint
    Réponses: 3
    Dernier message: 14/03/2012, 14h58
  3. [SP-2010] TypeLoadException lors du lancement d'un workflow
    Par eldrad95 dans le forum Développement Sharepoint
    Réponses: 2
    Dernier message: 04/10/2011, 10h01
  4. Réponses: 8
    Dernier message: 01/04/2006, 10h10
  5. Réponses: 14
    Dernier message: 01/12/2003, 17h47

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