Sur itemUpAndating Propriété
-
10-12-2019 - |
Question
J'ai un problème, avec cet événement. Quel est mon objectif: je veux mettre à jour l'une des propriétés en fonction de quelques critères, donc je souhaite remplir un champ A si le champ A est vide et que le champ B n'est pas vide et que le champ C n'est pas non plus vide.
Comment le faire correctement car avec sur l'élément d'exécution des antérieurs suivants est parfois nul ou ils n'existent pas du tout etc ..
Tout bon conseil?
Juste pour vous faire savoir qu'il s'agit de SharePoint 2007
ex: Article actuel: Titre= valeur1; Titre2= value1
Quelqu'un est mis à jour en conséquence: titre= NewValue
L'élément mis à jour doit avoir la valeur suivante: Titre= NewValue; Titre2= NewValue
La prochaine fois la prochaine mise à jour suivante: Titre2= RealNewValue;
L'élément mis à jour doit être aussi follwoing: titre= encorenewvalue; Titre2= encorenewvalue;
Donc, fondamentalement, les deux champs doivent rester synchronisés NNO Matter que l'on est mis à jour, je ne sais donc pas lequel des champs ont été mis à jour et que celui que je devrais mettre à jour ..
vous voyez
La solution 3
Basically at the end I solved my issue myself.
Just by checking the listItem.AfterProperties["column"] and comparing them with ListItem["column"] and then setting the again to ListItem.AfterProperties["column"]= value;
Autres conseils
Just one question: Is there a reason for not using ItemUpdated where all your field would have been updated with the fresh information?
In ItemAdding you must check both BeforeProperties and AfterProperties to be successful in this task.
In ItemAdded:
title2 = title
In ItemUpdated workflow:
//Only when there is a change in title/title2 columns if(title != title2) { //Meaning title has changed if(title.beforeProperties.Value == title2) { title2 = title } //Meaning title2 has changed else if(title2.beforeProperties.Value == title) { title = title2 } }