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 :

OnWorkflowItemChanged probleme d'evennement se declenchant plusieurs foi


Sujet :

SharePoint .NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Par défaut OnWorkflowItemChanged probleme d'evennement se declenchant plusieurs foi
    Alors voila mon nouveau probleme.

    Je creer un Workflow sequentiel sharepoint sous VS 2008, dans ce workflow il y a une boucle while (whileactivity) qui contient un onWorkFlowItemChanged.

    Ce que je veux faire est simple : editer une colonne a chaque foi qu'un utilisateur modifie un item, donc je m'arrange donc pour editer la dite colonne dans mon onWorkflowItemChanged, mais le probleme c'est que ca me l'edite plusieurs fois de suite pour une seule modification d'item.

    Je pense que l'evennement se declenche plusieur fois, je sais pas trop quoi faire pour eviter cela.

    J'attends vos idee avec impatiente, merci

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Par défaut
    Personne ...?

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Par défaut
    Ok bon apres une longue reflection solitaire, j'ai trouver d'ou venais le probleme mais je n'ai pas trouver comment le regler.

    En gros lorsque mon evenement se declenche ca appel un morceau de code dans lequel je faisai ma modification de colonne, et comme l'item se retrouve de nouveau modifier, il est tout a fait normal que l'evenement se reenclenche a nouveau, et ca boucle ...

    Donc maintenant comment faire pour eviter que ca boucle?

  4. #4
    Nouveau candidat au Club
    Inscrit en
    Mai 2008
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 2
    Par défaut
    Bonjour,
    j'imagine que dans ton code, tu utilises une méthode Update() sur un objet SPListItem ?

    ce qu'il te faut, c'est utiliser SystemUpdate() à la place : cette dernière permet la mise à jour de la ligne directement dans la base, sans lever l'event de modification.

    En espérant t'avoir aidé

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Par défaut
    Non je n'utilise que des systemupdate sur l'item en cours. Donc visiblement meme le systemupdate declenche l'evennement. Je suis entrain d'essayer de le desactive le temp de la misa a jour mais je n'y arrive pas...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 25
    Par défaut
    Alors voila comment j'ai resolu mon probleme, d'une facon relativement simple d'ailleur.

    En fait il suffit de tester la valeur de l'element declencheur de l'evenement :

    public void onWorkflowItemChanged(object sender, ExternalDataEventArgs e)
    {

    if (e.Identity != "SHAREPOINT\\system")
    {
    //Ici vous effectuer vos modification sur l'item
    //Puis valider cela par un systemUpdate()

    workflowProperties.Item.SystemUpdate();
    }

    }
    Si l'identite est differente du system, c'est a dire ci l'evenement n'est pas declencher par le systeme alors on execute le code sinon on passe.

    Voila!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 03/05/2007, 10h27
  2. [ADOQuery] Parametre utilisé plusieurs fois
    Par gibet_b dans le forum Bases de données
    Réponses: 5
    Dernier message: 30/09/2004, 10h57
  3. Réponses: 4
    Dernier message: 02/09/2004, 21h43
  4. Réponses: 2
    Dernier message: 10/07/2004, 17h14
  5. [Servlet] Comment utilisé une servlet plusieurs fois ?
    Par gandalf_le_blanc dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 03/06/2004, 14h49

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