Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: max.doll am 27.01.10 - 12:22:46
-
Hallo Zusammen,
ich habe ein Problem beim DXL Export und Import von Dokumenten.
Das Scenario ist folgendes:
Ich möchte in einem geöffneten Document durch einen Button das ganze Dokument in eine .xml Datei exportieren.
Über einen weiteren Butten dann dort Änderungen durchführen und mit einem letzten Button dann die geänderte .xml Datei wieder importieren.
Danach soll das Dokument die änderung gleich anzeigen.
Das Problem ist nun, dass nach dem Import das Dokument im FrontEnd die Änderungen nicht anzeigt die gemacht wurden.
Wenn ich das Dokument jedoch manuell schließe und wieder öffne sind die Änderungen sichtbar.
Weis jemand wie ich das automatisch realisieren kann?
Ich hab es schon mit der Reopen Funktion von Anton Tauscher, Refresh und Reload probiert. Leider führte nichts zum Erfolg.
Über Ideen bin ich sehr dankbar.
MFG
-
... dass der ReOpen nicht greift macht mich stutzig...
Toni
-
So, nach langem forschen bin ich durch Zufall auf die Lösung gestoßen.
Sie wird unter Anderem auch schon hier im Forum in folgendem Thread beschrieben:
http://atnotes.de/index.php/topic,42910.msg275446.html#msg275446
Die Problemstellung ist die gleiche wie bei mir und lässt sich folgendermasen lösen:
Sub Click(Source As Button)
Dim wksp As New NotesUIWorkspace
Dim session As New NotesSession
Dim db As notesdatabase
Dim uidoc As notesuidocument
Dim doc As notesdocument
Dim docunid As String
Set db = session.CurrentDatabase
Set uidoc = wksp.CurrentDocument
docunid = uidoc.Document.UniversalID
Call uidoc.Close(True)
' Achtung: manche berichten hier von einem Crash (auch in 6.5.5), der
' vermieden wird, wenn uidoc.close ohne True-Parameter aufgerufen wird
Delete uidoc
Set doc =db.GetDocumentByUNID(docunid)
Call wksp.EditDocument(False, doc,False,,True,True)
End Sub
Das entscheidende ist, das der Kontext zum Frontend und Backend gelöscht wird.