Wednesday, May 23, 2007

Sharepoint 2007 Workflow Update Item

Dans un workflow déclenché par une modification de l'item d'une liste, il est souvent nécessaire de mettre à jour une meta-donnée de cet item. Le principe est simple en utilisant par exemple : workflowProperties.Item["Status"] = "Archived"; Mais que ce passe-t-il lorsqu'on met à jour ? Le fait de faire workflowProperties.Item.update(); déclenche l'événement de mise à jour, et donc redéclenche le workflow, donc une erreur car une instance du même workflow est déjà active sur cet item. La réponse est dans l'instruction suivante : workflowProperties.Item.SystemUpdate(); Cette méthode permet d'écrire directement dans la base, sans déclencher les événements sur l'item. D'autre part, il est possible de spécifier un flag (true/false) pour incrémenter ou non la version.

No comments: