Domino 9 und frühere Versionen > ND7: Entwicklung
Prompt mit LotusScript zeigt veralteten Feldinhalt, Formelsprache korrekt
HWellmann:
Hallo zusammen,
ich habe da ein problem bei dem ich nciht weiterkomme:
Ein Dokument hat ein Feld "ReNummer".
In dem Feld steht "RE2009001", ich ändere das ab, schreibe "RE2009002" da rein, speichere das Dokument und schliesse es.
In der Ansicht habe ich eine Aktion (keine gemeinsame Aktion) mit der ich mir per msgbox die Rechnungsnummer der angehakten Dokumente ausgebe. Also ganz einfacher Befehl:
Dim s as New NotesSession
Dim db as NotesDatabase
Dim recol As NotesdocumentCollection
Dim redoc as Notesdocument
Set db = s.currentdatabase
Set recol = db.UnprocessedDocuments
Set redoc = recol.GetFirstDocument
while not redoc is nothing
Msgbox(redoc.getfirstitem("Renummer").text)
set redoc = recol.getnextdocument(redoc)
wend
Die Aktion gibt aber immer den alten Wert "RE2009001" aus, obwohl in der Felderliste des Dokumentes ganz klar der neue Wert drinsteht. Ausserdem gibt ein @Prompt([OK];"";ReNummer); den richtigen Wert aus.
Auch wenn ich das Dokument ein 2. mal speicher, sowie die Datenbank schliesse und wieder öffne: Lotus Script gibt den falschen Wert aus.....
Es geht mir natürlich nicht darum den Wert in einer Messagebox auszugeben, sonst könnte ich ja Formelsprache nutzen. Grundsätzlich soll die Aktion ein wenig mehr machen und dafür benötige ich Lotus Script.
Ist Euch sowas schon mal untergekommen?
Hab ja schon fast die Vermutung, dass die Datenbank einen Schuss hat.
Beste Grüße aus Münster,
Holger
HWellmann:
Hallo nochmal.
Ich wollte die Frage eigentlich ins Lotus Notes/Domino7-Forum stellen und war mir auch sicher dass ich das gemacht habe. Anscheinend aber wohl nicht.
Verschieben kann ich das Thema nicht, oder?
Werte Moderatoren...könnt Ihr das tun? :) Danke.
Glombi:
Der Thread wurde verschoben.
Zur Frage:
Mit Aktionen, in denen der Code direkt drin steht, habe ich eher schlechte Erfahrungen gemacht. Daher schreibe ich den Code in Agenten, die für gewählte Dokumente laufen, und rufe die per Aktion auf.
Schreibe doch mal einen Agenten und poste, ob es dort auch nicht funktioniert.
Andreas
HWellmann:
Der Code, so wie oben beschrieben, liefert auch im Agent das gleiche Ergebnis.
HWellmann:
noch ein Hinweis:
Ich habe nun den bestehenden Volltextindex der lokalen Datenbank aktualisiert.
Nun gibt auch die Lotus Script-Aktion die korrekten Werte aus.
Auch wenn ich nun Änderungen mache und die Aktion ausführe funktioniert es korrekt.
Was hat das mit dem Volltextindex zu tun?
Hatte eigentlich gedacht, dass es was mit dem Cache zu tun hat.
leider stellt sich der Effekt, dass alte Werte angezeigt werden auch nach einer Weile wieder ein.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln