Autor Thema: Aktualisierung uidoc  (Gelesen 2159 mal)

Offline Colibri

  • Aktives Mitglied
  • ***
  • Beiträge: 218
  • Hmmm .... lecker Vogel!
Aktualisierung uidoc
« am: 17.03.10 - 10:29:08 »
Hallo Notes Gemeinde,

ich habe ein etwas seltsames Programmierproblem und kann es mir nicht erklären. Ich öffen an 2 verschiedenen PC's das gleiche Notesdokument im Lesemodus. Nun ändere ich über einen Button mit einer DialogBox das Dokument und speichere es wieder.

Wenn ich den Button mit der DialogBox nun an dem 2. PC drücke, bei dem ich das Dokument ja auch schon offen hatte, bekomme ich beim speichern logischerweise die Meldung "Ein weitere Kopie diese Dokuments wurde gespeichert ...... Konflikdokument?".

Dies wollte ich nun verhindern, indem ich das uidoc über den Button neu öffne:

Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
call uidoc.close
uidoc = ws.EditDocument(True, doc, False)

Das bringt aber leider nichts, da, wie ich herrausgefunden habe, das doc noch den alten Stand hat, also den Stand BEVOR ich an dem 1. PC die Änderungen gespeichert habe.

Also dachte ich, OK musst Du hallt das doc neu holen:

Set uidoc = ws.CurrentDocument
Set doc = uidoc.Document
unid = doc.UniversalID   
Call uidoc.Close(True)
Set doc = db.GetDocumentByUNID(unid)
uidoc = ws.EditDocument(True, doc, False)

Aber auch das funktioniert nicht, das doc hat immer noch den alten Stand.

Erst wenn ich das doc über eine Ansicht neu hole:

lfdnr = uidoc.FieldGetText("lfdnr")
Call uidoc.Close(True)
Set doc = view.GetDocumentByKey(lfdnr, True)
Set uidoc = ws.EditDocument(True, doc, False)

Jetzt das doc den aktuellen Stand und ich bekomme keinen Speicherkonflikt.

Laut Doku müsste aber doch schon Varinate 1 funktionieren, spätestens jedoch Variante 2, oder wo mache ich den Fehler?

Server ist 8.5.1 und die Clients sind 6.5.6 und 8.5.1, das Verhalten ist bei beiden Versionen gleich.

Danke und Gruß,
Dietmar

Offline WildVirus

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 658
  • Geschlecht: Männlich
Re: Aktualisierung uidoc
« Antwort #1 am: 17.03.10 - 10:40:01 »
Hallo Dietmar,

da spielt Dir der Cache des Clients einen Streich.

Wenn Du das Dokument schon offen hast und jemand anderes ändert es auf dem Server,  dann kann der von Dir beschriebene Effekt auftreten.

Mit der Ansichtssuche machst Du dann den Refresh.

CU,
Axel

Offline Colibri

  • Aktives Mitglied
  • ***
  • Beiträge: 218
  • Hmmm .... lecker Vogel!
Re: Aktualisierung uidoc
« Antwort #2 am: 17.03.10 - 10:42:29 »
Hallo Axel,

danke für Deine schnelle Antwort. Ist das Öffnen des doc über die Ansicht also die einzige Möglichkeit das Problem zu umgehen, oder gibt es noch andere?

Gruß
Dietmar

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Aktualisierung uidoc
« Antwort #3 am: 17.03.10 - 10:54:49 »
Also:

Bei eins öffnest Du das Doc, das Du noch in der Hand hast.

Bei zwei kann ein doc = nothing vor dem GetDocument... helfen

Bei drei kann ein Bug greifen
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

Offline Colibri

  • Aktives Mitglied
  • ***
  • Beiträge: 218
  • Hmmm .... lecker Vogel!
Re: Aktualisierung uidoc
« Antwort #4 am: 17.03.10 - 12:50:41 »
set doc = nothing hat leider auch nichts geholfen.

Bleibt mir wohl nichts anderes überig, als das doc über eine Ansicht neu zu holen  >:(

Irgendwie dachte ich, dass ging auch mal anderst.  ???

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
Re: Aktualisierung uidoc
« Antwort #5 am: 17.03.10 - 12:57:00 »
Du willst ein
Code
Delete Doc
probieren.
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 Colibri

  • Aktives Mitglied
  • ***
  • Beiträge: 218
  • Hmmm .... lecker Vogel!
Re: Aktualisierung uidoc
« Antwort #6 am: 17.03.10 - 13:12:22 »
  :D     jawoll ......  das wars ...   jetzt funktioniert Variante2 .

Danke Dir  :knuddel:

Offline DerAndre

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.655
  • Geschlecht: Männlich
  • Keep cool!
Re: Aktualisierung uidoc
« Antwort #7 am: 17.03.10 - 13:30:44 »
Interessant, war mir so garnicht bewusst...

Ist aber klar, da ja das uidoc noch die Referenz besitzt und damit kommt wieder das alte Doc ( wieder mal der Cache ) hoch.

Oder unterliege ich hier jetzt einem Irrtum?
André

Elterninitiative diabetischer Kinder und Jugendlicher e.V.
-----------------------------------------------------------------------------
Fliegen ist die Kunst auf den Boden zu Fallen, aber daneben.
-----------------------------------------------------------------------------
Etwas mehr Hardware dazu zu kaufen ist viel billiger als
Software besser zu machen. ( Niklaus Wirth )

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz