Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: wuwu am 28.04.05 - 08:44:50

Titel: Feldwert überprüfen ob er geändert wurde?
Beitrag von: wuwu am 28.04.05 - 08:44:50
Hallo,

wäre für einen Tip sehr dankbar für folgende Sache:

Ich möchte gerne eine Funktion ausführen wenn sich der Wert eines Feldes geändert hat.

z.B.: Feld Test hat vorher den Wert 10€, wenn sich nun der Wert geändert hat auf 20€ dann sollte im Querysave etwas ausgeführt werden.

Wie ist das realisierbar, gibt es da eine Funktion?

Mfg & Danke Horst
Titel: Re: Feldwert überprüfen ob er geändert wurde?
Beitrag von: klaussal am 28.04.05 - 08:51:50
Nicht, dass ich wüsste.
Idee: im postopen den alten Wert im versteckten Feld merken und im querysave dann vergleichen.
Titel: Re: Feldwert überprüfen ob er geändert wurde?
Beitrag von: wuwu am 28.04.05 - 09:01:05
Danke Klaus, an das habe ich auch schon gedacht und wurde auch schon realisiert!
Habe im Postopen folgendes eingefügt:

if source.editmode = true then......

auf das habe ich vorher nicht geachtet!

Danke für die Hilfe!

Mfg Horst
Titel: Re: Feldwert überprüfen ob er geändert wurde?
Beitrag von: Axel am 28.04.05 - 09:49:21
Hi,

so was hab ich schon einige Male gemacht. Du brauchst nicht unbedingt ein Feld dazu.

Im Postopen-Event der Maske frägst du den Feldwert ab und schreibst ihn in eine maskenglobale Variable. Im QuerySave - Event vergleichst du den Wert der Variable mit dem aktuellen Feldinhalt und wenn sie unterschiedlich sind, führst du dann die entsprechenden Anweisungen aus.


Axel
Titel: Re: Feldwert überprüfen ob er geändert wurde?
Beitrag von: klaussal am 28.04.05 - 09:50:46
Als "Beweismittel" ist ein Feld nicht das Schlechteste....  ;D
Titel: Re: Feldwert überprüfen ob er geändert wurde?
Beitrag von: ghost am 28.04.05 - 13:13:06
Hallo,

ich mache das gewöhnlich so, wie von Axel beschrieben. Die Sache mit if 2source.editmode = true then......" und dann ein Feld beschreiben hat nämlich noch einen Haken: Wenn das Dokument im Lesemodus geöffnet und dann in Editmodus versetzt wird, greift die Sache nicht mehr. Um das abzufangen, muss noch eine Abfrage in das PostModeChange-Event.

Das angesprochende Beweisfeld lässt sich IMHO auch mit den globalen Maskenvariablen besser lösen. Dann schreibt man halt im QuerySave in ein entsprechendes History-Feld "<XY> hat am <Datum> das Feld <Feld> von Wert <AlterWert> nach <NeuerWert> geändert." Oder so ähnlich.

Viele Grüße
ghost
Titel: Re: Feldwert überprüfen ob er geändert wurde?
Beitrag von: klaussal am 28.04.05 - 13:44:46
@ghost,

so meinte ich das auch.
Titel: Re: Feldwert überprüfen ob er geändert wurde?
Beitrag von: wuwu am 28.04.05 - 14:50:17
Habe ich auch jetzt eingebaut bzw. umgestellt.

@ghost, das Probleme hatte ich auch, wenn man das Dokument nur angesehen danach bearbeitet hat, das Feld nicht gesetzt wurde!
Jetzt ist die Sache aber vom Tisch!

Jungs - Danke nochmal!

Mfg Horst
Titel: Re: Feldwert überprüfen ob er geändert wurde?
Beitrag von: Driri am 29.04.05 - 11:11:51
Dafür kann man ideal die History-Klasse von Michael Wöhrer einsetzen.

Bei Interesse, hier der Link (http://www.notes-links.de/cpo/eigenentwicklungen/detail.php?nr=519&kategorie=eigenentwicklungen)