Autor Thema: Prompt mit LotusScript zeigt veralteten Feldinhalt, Formelsprache korrekt  (Gelesen 5990 mal)

Offline HWellmann

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
    • Lotus Notes Domino Programmierung Schulung
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

Offline HWellmann

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
    • Lotus Notes Domino Programmierung Schulung
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

  • Gast
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

Offline HWellmann

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
    • Lotus Notes Domino Programmierung Schulung
Der Code, so wie oben beschrieben, liefert auch im Agent das gleiche Ergebnis.

Offline HWellmann

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
    • Lotus Notes Domino Programmierung Schulung
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.

« Letzte Änderung: 19.02.09 - 15:44:32 von HWellmann »

Offline m3

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.102
  • Geschlecht: Männlich
  • Non ex transverso sed deorsum!
    • leyrers online pamphlet
1) Nachdem Du ja nun den Code in einem Agenten hast - welche Selections-Option hast Du gewählt?

2) Was ist in den Datenbankeigenschaften für die Updatefrequenz des Volltextindex angegeben?

3) Was hast Du als Aktualisierungsintervall für die View, auf die Du Dich beziehst in den View-Eigenschaften angegeben?
HTH
m³ aka. Martin -- leyrers online pamphlet | LEYON - All things Lotus (IBM Collaborations Solutions)

All programs evolve until they can send email.
Except Microsoft Exchange.
    - Memorable Quotes from Alt.Sysadmin.Recovery

"Lotus Notes ist wie ein Badezimmer, geht ohne Kacheln, aber nicht so gut." -- Peter Klett

"If there isn't at least a handful of solutions for any given problem, it isn't IBM"™ - @notessensai

Offline HWellmann

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
    • Lotus Notes Domino Programmierung Schulung
erstmal vielen Dank für die schnellen Antworten!

zu 1)
  Auswahl in der Agentenliste, Ziel: Keines
zu 2)
  Updateintervall (nur Server): SOFORT
    (Hinweis: die Datenbank ist zur Zeit noch lokal)
zu 3)
  Aktualisieren: Autom. nach 1. Verwendung

Offline Axel

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Ich würde auf einen nicht aktuellen Ansichtenindex tippen.

Was passiert wenn du nach dem Ändern des Dokumentes und vor dem Aufruf des Agenten die Ansicht aktualisierst?


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline HWellmann

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
    • Lotus Notes Domino Programmierung Schulung
@Axel: Das habe ich zu Anfang auch vermutet. Aber 1. hilft ein F9 oder auch shiftF9 nichts und 2. lese ich doch das Feld des Dokumentes aus und nicht die Ansicht (übrigens wird das Feld in der Ansicht richtig angezeigt). Sollte er mir nicht da auf jeden Fall den richtigen Inhalt zurückgeben?

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Hallo Holger,

wenn das anfangs veröffentlichte genau Dein Code ist: Das passt.
Weiters:
Das hat nicht mit einem FullTextIndex (FTI) zu tun noch mit einer Ansicht. Du greifst Dir ja das Dokument an sich im Backend - insofern ist der FTI schietegal und alles, was mit dem Ansichtsindex zu tun hat. Dein Dokument erwischt Du ja.

Vermutung:
Arbeitest Du mit Designer und dem Client auf der gleichen DB gleichzeitig? Waren beide Clients ggf. während der ursprünglichen Tests gleichzeitig mit Zugriff auf diese DB offen?

Um "Pipifax" auszuschliessen, fahre bitte mal das "übliche Prodecere":
- Designer-Client schliessen
- Betreffende DB-Symbole (Replik-Symbole) aus dem Workspace entfernen
- Desktop komprimieren
- Client schliessen
- CACHE.NDK löschen
- Notes-Client wieder starten
- DB-Symbole wieder hinzufügen
- Erneut testen.

Wenn das dann immer noch passiert, dann läuft da noch etwas anderes, da der Code das dann wirklich nicht mehr hergeben würde  ;)

Schauen wir nun mal, wie sich das weiter entwickelt. Ich bin gespannt!

Bernhard

Glombi

  • Gast
Zitat
zu 1)
  Auswahl in der Agentenliste, Ziel: Keines

Das muss aber auf "Alle ausgewählten Dokumente" stehen.

Offline HWellmann

  • Frischling
  • *
  • Beiträge: 38
  • Geschlecht: Männlich
    • Lotus Notes Domino Programmierung Schulung
Hallo zusammen,

bin mittlerweile der Meinung, dass die Datenbank total den Hau hat.

@bernhard: alles ausprobiert...ne weile funktioniert es...dann wieder nicht.

@glombi: warum muss das auf alle ausgewählte dokumente stehen? Ich hole mir die Dokumente doch mit db.unprocesseddocuments. Und er hat die dokumente ja auch...
Habs aber ausprobiert und das erzielt den gleichen Effekt.

Da ich nicht mehr weiterwusste hab' ich mal eine neue DB erstellt und alles nacheinander rüberkopiert. Bin jetzt beim Einbau der Gestaltungselemente auf ein anderes Problem gestossen:
Auf einmal kann ich eine Scriptlib, in der ich eine andere Scriptlib  (use "Scriptlib1") einbinde nicht mehr abspeichern, da Funktionen aus der "Scriptlib1" nicht mehr gefunden werden. Irgendwas ist da total im Argen.

(Meldung: Variable not declared: <Funktionsname>)

Muss man Funktionen deklarieren?

Naja, ich mach jetzt Feierabend und werd' mal erst ausgiebigst Karneval feiern.

Nächste Woche meld' ich mich nochmal. Wär schön wenn jemand noch einen Tipp hat.

Schönes Wochenende...
Holger

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Hallo Holger,

wenn Du ein Open Declare verwendest (solltest Du immer machen  ;)), dann wäre das beim Schreiben des Codes eigentlich aufgefallen.

Es gibt eine Funktion, mit der der gesamte Scriptcode der DB kompiliert wird. Der hat mir in solchen Fällen schon geholfen. Ist im Designer im Menü Werkzeuge versteckt.

Mit einem herzlichen Kölle Alaaf
Axel

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz