2009-04-17 8 views
0

Je suis en train d'écrire un workflow qui doit effectuer certaines actions en fonction des champs qui sont modifiés lorsque quelqu'un modifie un élément. Par exemple, si un utilisateur entre et supprime un rôle (travail) d'un élément (membre du personnel), j'ai besoin du workflow pour réaliser que le champ de rôle a été modifié, déduire quel rôle a été supprimé (ou potentiellement ajouté) gestionnaire de ce rôle et faire toutes les autres tâches nécessaires. Un autre exemple serait que si les champs d'adresse d'un article sont modifiés, le département RH approprié doit être informé de la modification. Pour ce faire, je vais essayer un bloc de code lorsque le workflow est démarré qui compare les deux premières entrées de l'historique et tous les champs qui diffèrent seront marqués comme modifiés et je vais prendre les actions appropriées en fonction de chaque champ .Workflow qui sait quels champs ont été modifiés

Quelqu'un pourrait-il me dire quelles sont les autres options pour obtenir cette fonctionnalité que j'aimerais savoir s'il y a une meilleure façon de procéder. Merci

Répondre

0

En utilisant les flux de travail SPD, ce ne serait pas si difficile, selon le nombre de rôles.

Créez une colonne, puis entrez le type de contenu et masquez-le. Créez un flux de travail SPD qui s'exécute sur new ou change. Comparez la colonne cachée et celle que l'utilisateur a saisie, si elle est modifiée, comparez les valeurs avec un nom de rôle et faites ce qui doit être fait. Lorsque cela est fait, copiez la colonne entrée par l'utilisateur dans la colonne cachée.

Laide et longue, mais si vous n'avez pas la possibilité de mettre en œuvre le code de flux de travail sur le serveur, merci l'informatique de l'entreprise, alors c'est une option.

0

Je permettrait versioning la liste, puis utilisez:

SPListItem currentItem = workflowProperties.Item; 
SPListItemVersion previousItemVersion = currentItem.Versions[1]; 
//Compare the fields in currentItem and previousItemVersion 

Mais si je comprends bien votre question, c'est ce que vous vous apprêtez à faire déjà.

Questions connexes