Autor Thema: Aktualisierungsproblem bei getProfileDocument  (Gelesen 3058 mal)

Offline seal

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Männlich
Aktualisierungsproblem bei getProfileDocument
« am: 12.01.12 - 14:34:47 »
Hallo zusammen,

also ich habe folgende Ausgangssituation. Ich wähle einen Empfänger über eine Dialogbox aus. Wenn ich diesen ausgeählt habe, gehe ich in sein persönliches Profildokument und schaue, ob dieser einen Vertretter aktiviert und eingetragen hat. Funktioniert alles wunderbar, aber ich habe ein Aktualitätsproblem. Wenn er ausgewählte Empfänger seinen Vertretter ausgeschaltet habe und ich ihm die MAil wieder schicke, dann erkennt er das nicht gleich. Erst wenn ich Notes bei mir schließe, öffne und danach nochmal versuche. -> CACHE???

Kann ich Notes irgenwie zwingen den Cache zu aktualisieren bevor ich mir das Profil holle oder nochmal aktualisiern bevor ich mir die Werte daraus ziehe?

Ich holle mir das ProfilDoc des empfängers mit dem Aufruf:

Set verteilerDoc = db.Getprofiledocument("(ProfilePersonal)", fromName.Canonical)

Viele Grüße,
seal
Warum passieren mir ständig Dinge, die nur dämlichen Menschen passieren - Homer J. Simpson

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Aktualisierungsproblem bei getProfileDocument
« Antwort #1 am: 12.01.12 - 14:50:35 »
Hallo,

Gemein gesagt.
Arbeite nicht mit Profile-Dokumenten, sondern mit "normalen" Dokumenten.


Andreas

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Aktualisierungsproblem bei getProfileDocument
« Antwort #2 am: 12.01.12 - 14:57:30 »
Das, was Du da beobachtest, ist exakt das, wofür ProfileDocuments geschaffen wurden: Einmaliges auslesen und dann sehr schneller Zugriff.
Eine Aktulaisierung findet nur statt (zunächst nur im Speicher!)
- wenn die DB geöffnet / das ProfileDocument erstmals geselen wird
- wenn der Benutzer eine Änderung durchführt (und das bekommt erstmal nur der Benutzer mit!).

Wenn das Verhalten nicht passt, darfst Du natürlicherweise keine ProfileDocuments verwenden!

Bernhard

Offline seal

  • Frischling
  • *
  • Beiträge: 18
  • Geschlecht: Männlich
Re: Aktualisierungsproblem bei getProfileDocument
« Antwort #3 am: 12.01.12 - 15:15:15 »
Hallo zusammen,

vielen Dank für die Hinweise.
Hätte halt gerne die Vorzüge von ProfilDocuments und normalen Documents benötigt.

Geht leider nicht, muss ich damit leben. :-)

Warum passieren mir ständig Dinge, die nur dämlichen Menschen passieren - Homer J. Simpson

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Aktualisierungsproblem bei getProfileDocument
« Antwort #4 am: 12.01.12 - 22:08:25 »
Das Profildokument kannst du so aktualisieren:

Code
set proDoc = db.getProfileDocument("pd") ' gecachedes Doc
noteID =  proDoc.noteID ' NoteID merken
delete proDoc ' Doc aus Speicher werfen und über die NoteID wieder holen
set proDoc = db.getDocumentById(noteID) ' gespeicherter Inhalt, allerdings kein "echtes" Profil
set tmpDoc = net NotesDocument(db) ' Zwischenspeicher
call proDoc .copyAllItems(tmpDoc) 
delete proDoc ' das proDoc aus dem Speicher werfen, da es kein "echtes" Profil ist, weil es nicht mit getProfileDocument geholt wurde

set proDoc = db.getProfileDocument("pd") ' gecachedes Doc (mit alten Daten)
call tmpDoc.copyAllItems(proDoc) ' in tmpDoc ist der aktuelle Inhalt
proDoc.timestamp = now ' irgend ein Feld verändern
call proDoc.save(false, false) ' damit es gespeichert wird

zugegeben nicht sehr elegant. Man benötigt dies aber z.B. wenn man einen "reopen" beim Editieren eines Profils ausführt.

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline iukhdh

  • Senior Mitglied
  • ****
  • Beiträge: 498
  • Geschlecht: Männlich
  • To be or notes to be, this is the question
Re: Aktualisierungsproblem bei getProfileDocument
« Antwort #5 am: 16.11.15 - 17:25:29 »
Der Fred ist zwar schon ein paar Jahre alt, aber da ich gerade ein ähnliches Problem habe, doch kurz eine ergänzende Frage dazu:

Ich habe ein Konfig Dokument, in dem ich in einer Fundsachendatenbank eine laufende Fundsachennummer hinterlege. Wenn neue Fundsachen eingegeben werden, wird diese Nummer immer um eins erhöht, was bisher mit einer Sachbearbeiterin auch kein Problem was.
Nun arbeiten 2 Personen abwechselnd mit der DB, und es passiert was weiter oben schon erklärt wurde, es gibt plötzlich doppelte Fundsachennummern, da beide zeitgleich die Datenbank starten und damit das Konfigdokument im Cache haben.

Meine Frage:

Wie meint ihr das mit dem Hinweis, mit "normalen Dokumenten" zu arbeiten?

Soll ich mir ein -ich nenne es mal so- Stammdatendokument basteln, dass ich irgendwo in einer versteckten Ansicht habe, das ich mir dann z.B. mit Script suche, dort die Werte auslese und ändere?

Oder gibt es da noch einen anderen Ansatz?

Vielen Dank für eine Ergänzung

Thomas
Thomas von der IuK

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Aktualisierungsproblem bei getProfileDocument
« Antwort #6 am: 16.11.15 - 21:50:48 »
Meine Frage:

Wie meint ihr das mit dem Hinweis, mit "normalen Dokumenten" zu arbeiten?

Soll ich mir ein -ich nenne es mal so- Stammdatendokument basteln, dass ich irgendwo in einer versteckten Ansicht habe, das ich mir dann z.B. mit Script suche, dort die Werte auslese und ändere?
Genau so.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz