Page 1 sur 2
Tester qu'un champ est modifié en lotusscript

Publié:
25 Nov 2011 à 16:33
par eltoto
Bonjour,
Savez vous s'il y a un moyen de tester en lotuscript sur le poste save qu'un champ a été modifié?
mon besoin est de pouvoir passer une liste de champs ( qui varie en fonction du masque et de la base) et de tester si il y a eu une modif sur un champ de cette liste (je peux avoir des champs liste, auteur, lecteur, text, multivalué etc )
Le numéro d'ordre change à l'enregistrement, mais y a t'il maoyen de le récupérer par script ?
Merci d'avance de vos réponses

Publié:
25 Nov 2011 à 18:36
par roubech
mémoriser les valeurs d'origine au PostOpen et comparer au QuerySave (ou PostSave)

Publié:
28 Nov 2011 à 11:33
par Raziel
roubech a écrit:mémoriser les valeurs d'origine au PostOpen et comparer au QuerySave (ou PostSave)
Pas mieux...


Publié:
28 Nov 2011 à 14:24
par eltoto
C'est ce que je fais actuellement le problème est que cela est compliqué à gérer et ne permet pas de gérer les champs textes riches sans le dupliquer ni les modifications sur les pièces jointes

Publié:
28 Nov 2011 à 14:30
par Raziel
Et bosser avec des documents versions ? A chaque sauvegarde du doc tu créé une nouvelle version que tu compare à l'ancienne.
C'est un peu plus lourd mais si ça peut répondre à ta demande.

Publié:
29 Nov 2011 à 10:46
par eltoto
J'y avais pensé cependant mon intérêt est de tester la modification de certains champs seulement. J'ai aussi pensé à un export XML pour voir si je retrouvais l'information du numéro d'ordre et il semblerait que non ...(a moins je ne cherche pas la bonne proprieté)

Publié:
01 Déc 2011 à 11:23
par LSong
tu peu aussi aller chercher le document Disque tu peu alors comparer ton document courant à sa version enregistré ça te dira ce qui a changer depuis la derrière sauvegarde

Publié:
01 Déc 2011 à 14:58
par eltoto
LSong a écrit:tu peu aussi aller chercher le document Disque tu peu alors comparer ton document courant à sa version enregistré ça te dira ce qui a changer depuis la derrière sauvegarde
Bonjour LSong, Qu'appelles tu le document Disque ?

Publié:
01 Déc 2011 à 16:27
par Raziel
Je pense qu'il faut parler du doc en dorsale en opposition au doc frontal.

Publié:
02 Déc 2011 à 16:30
par eltoto
Merci Raziel pour la précision. je suis sûr qu'il est possible de trouver une solution par du LS, cependant ça m'aggace de redeveloppé un truc qui existe déjà en natif... Dès que j'aurais 5 min j'irai faire un tour du côté de l'API C voir si mon bonheur ne s'y trouverait pas, sinon tant pis je le ferais en LS.
Merci de votre aide

Publié:
02 Déc 2011 à 17:04
par Michael DELIQUE
re,
si tu trouve avec l'api C t nous fais un petit tip ?

Publié:
12 Déc 2011 à 16:30
par eltoto
Après lecture ce WE, je n'ai pas trouvé... je n'arrive pas à comprendre comment cette info est affichée dans la boite propriétés

Publié:
13 Déc 2011 à 09:02
par Michael DELIQUE
je te conseil de faire en lotus script, d'une manière général je n'utilise l'API C que pour ce qui n'est pas faisable en LS.
il y a différente manière de faire ça en LS et ça ne posera aucun pb de stabilité

Publié:
13 Déc 2011 à 15:14
par LSong
pour avoir le document disque tu dois le recuperer depuis une vue
genre fait une vue par unid et fait un getDocumentByKey dessus
tu as alors le doc dans la Database et dans l'uidoc le frontal
et la comparaison est alors super facile
tu peu meme faire un
forall itemElem in doc.items
qui peu ballayer tous les champs sans meme les connaitre

Publié:
13 Déc 2011 à 20:06
par roubech
sur le PostSave, le doc est déjà écrit sur le disque, donc plus accès à l'ancienne version
sur le QuerySave, pas accès aux RT du doc pas encore sauvé ?