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

Mise à jour : Le problème est que je dois comparer si la valeur précédente et la nouvelle valeur: donc si une personne met à jour un élément.

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

Était-ce utile?

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
    }
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top