Autor Thema: Refresh(True) führt zum Speicherkonflikt?  (Gelesen 1683 mal)

TomLudwig

  • Gast
Refresh(True) führt zum Speicherkonflikt?
« am: 04.01.07 - 14:14:17 »
Hallo zusammen,

ich weiß nicht was ich falsch mache...

Code
Set uidoc = uiwork.CurrentDocument
	Call uidoc.Save()				
	uidoc.EditMode = False
	Set doc = uidoc.Document 		' mark backend doc		
	noteid = doc.NoteID			' mark noteid
	unid = doc.UniversalID			' mark unid
	
	Set agent = session.CurrentDatabase.GetAgent("PrintOfferAUE")
	
	If agent.Run(noteid) = 0 Then
		uidoc.EditMode = True
		Call uidoc.Refresh(True)
	Else
		Messagebox MsgErrorAgent, 64, MsgInformation
	End If

Der Agent (JAVA) verändert im Backend das gerade geöffnete UIDoc und speichert dies dann. Um alles anzeigen zu lassen (Auch RichTextFelder) setzte ich ein Refresh(True) ab.

Leider bekomme ich nun folgende zwei Fehlermeldungen:
"Eine weitere Kopie dieses Dokuemnts wurde gespeichert, während Sie das Dokument bearbeiten. Sollen Ihre Änderungen auch als Konfliktdokument gespeichert werden?"
"Notes Fehler - Ein anderer Benutzer hat dieses Dokument zur gleichen Zeit geändert"


Natürlich hat sich das Dokument im BackEnd verändert. Deshalb möcht ichs ja auch im Frontend aktualisieren....


Danke vielmals.

P.S.: Es ist egal wie das Dokument im JavaAgenten gespeichert wird (.save(true), .save(false), usw.)

TomLudwig

  • Gast
Re: Refresh(True) führt zum Speicherkonflikt?
« Antwort #1 am: 04.01.07 - 14:23:38 »
Nachtrag:
Wenn es möglich ist, möchte ich das Dokument nicht schließen und erneut öffnen.
Performance...

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Refresh(True) führt zum Speicherkonflikt?
« Antwort #2 am: 08.01.07 - 09:43:55 »
Refrsh( True ) ist ein sehr "penetranter" Befehl, der im Hintergrund tatsächlich das Dokument neu speichert (nicht in allen Versionen, zwischenzeitlich war das mal anders, in aktuellen Versionen ist es wieder so), um die Änderungen sichtbar zu machen.

Du kommst also um ein Reopen NICHT drumrum. No Chance...

Tode
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline smoki

  • Senior Mitglied
  • ****
  • Beiträge: 325
  • Geschlecht: Männlich
    • Smoki's Lotus Notes
Re: Refresh(True) führt zum Speicherkonflikt?
« Antwort #3 am: 08.01.07 - 10:22:42 »
Ich bin mir nicht ganz sicher... aber bringt es was, wenn du das Backend-Dokument vor dem Aufruf des Agenten explizit speicherst?

Gruss
Chris

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz