Guten morgen,
Die Property NotesUIDocument.ModifiedSinceSaved dürfte vermutlich Dein Freund sein.
nein, ich habs anders gelöst, die Property ist mir noch nicht über'n Weg gelaufen.. Hab das gerade mal in der Hilfe eingegeben, keinen treffer gelandet..... ???
Ich hab's folgendermaßen gelößt:
in den global Options meiner beiden Forms Variable gesetzt.
Dim per_charalt As String
Im Postopen den Wert ausgelesen:
per_charalt = Source.FieldGetText("per_charge")
Im Querysave Wert verglichen:
tmpPerson = doc.GetItemValue("per_charge")
strPerson = tmpPerson( 0 )
If per_charalt = strPerson Then
Else
Call SendNewJobMail(Source)
End If
Aus SendNewJobMail habe ich dann eine Script-Bibliothek gemacht, da ich das ganze auf zwei Masken brauche.
Sub SendNewJobMail (Source As NotesUIDocument)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Set doc = Source.Document
Dim memo As New NotesDocument (db)
tmpPerson = doc.GetItemValue("per_charge")
strPerson = tmpPerson( 0 )
memo.Form = "Memo"
memo.sendTo = per_charge
memo.Subject = "New Job in IP_MM database"
memo.Body = "You are registered for a new Job. Please visit the IP_MM database for further information:"
Call memo.Send (False,strPerson)
End Sub
Meine Tests waren bis jetzt erfolgreich. Muss zwar noch einen Doclink hinzufügen, dürfte aber auch zu schaffen sein.
Sollte modifiedsincesaved einfacher sein, bin ich für Input offen, wenn es an dem Script noch was zu optimieren gibt natürlich auch. Man (Frau) lernt bekanntlich nie aus.
Na dann koenntest Du doch im QuerySave den aktuellen Wert des Feldes auch ueber
Source.FieldGetText("per_change")
abfragen.
Andreas
Nur mal ins Blaue hinein.
Code nur fuer den QuerySave
If Trim(per_charalt) <> Trim(Source.FieldGetText("per_charge")) Then Call SendNewJobMail(Source)
oder etwas komfortabler
If StrCompare(Trim(per_charalt), Trim(Source.FieldGetText("per_charge")), 2) Then _
Call SendNewJobMail(Source)
Andreas