Autor Thema: Reopen von Dokumenten nach der Replikation  (Gelesen 1951 mal)

Offline Legolas

  • Senior Mitglied
  • ****
  • Beiträge: 446
  • Geschlecht: Männlich
Reopen von Dokumenten nach der Replikation
« am: 21.02.22 - 08:02:36 »
Hallo Forum,

ich suche einen Weg, ein Reopen auf ein zu öffnendes Dokument durchzuführen.
Leider konnte ich keine Lösung finden. Ich hoffe jedoch, dass jemand von Euch hier ein Workaround oder ähnlich benennen kann.

Die Situation:
Da viele unsere Mitarbeiter im Homeoffice lokal mit diversen Anwendungen arbeiten, möchte ich die Möglichkeit schaffen, die Daten möglichst synchron zu halten.

Dafür wollte ich folgendes machen:
Beim Queryopen eines Dokuments wird geprüft, ob das Modified Date des Dokuments der lokalen Replik unterschiedlich zum Modified Date des Dokuments auf unserem zentralen Server ist.
Falls ja, wird automatisch die Anwendung repliziert um sicher zu stellen, dass die lokalen Daten auch immer aktuell sind!

Um nun aber auch die aktualisierten Daten lokal zu laden, muss das lokale Dokument neu geöffnet werden. Diesen Vorgang wollte ich automatisch ausführen.
Hier ist nun auch das Problem. Egal was ich bisher versucht habe, wurde entweder vom Notesclient ein Fehler geworfen (z.B.: beim ws.edit Aufruf im Terminate des Dokuments) oder die Daten wurden nicht aktualisiert wenn ich das Dokument nach der Replikation im Queryopen einfach weiterlaufen lass. (uiDoc.reload bzw. refresh usw. im PostOpen brachte auch nichts).

Kennt jemand von Euch hier eine Lösung?


Grüße
Bernd
Arbeite klug, nicht hart.

Offline Ralf_B

  • Aktives Mitglied
  • ***
  • Beiträge: 144
  • Geschlecht: Männlich
Antw:Reopen von Dokumenten nach der Replikation
« Antwort #1 am: 21.02.22 - 13:30:02 »
Für Umleitungen benutze ich eigentlich immer VB Scripte.
In diesem Fall (für mehrere lokale Anwendungen pro Anwender und ev. pro Dokument) würde ich das aber anders machen.
Ich würde jedem Benutzer eine neue lokale Notesdb erstellen lassen (ev. per Script / Repliken) die benutzt wird um solche Reopens die lokalen DB's durchzuführen.
Wenn ein Reopen erfolgen soll, kann dieser DB die Info über DB und das Dok übergeben werden und diese kann das Dok per UIWKS öffnen und ev. auch die Replikation und weiteres) initiieren.
Ist schon ein wenig Arbeit. Auch eine entsprechende Userinfo wäre schön. Ist aber eine Zentrale Lösung.
Mal als Denkanstoß.

Gruß
Ralf

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Antw:Reopen von Dokumenten nach der Replikation
« Antwort #2 am: 21.02.22 - 16:29:15 »
Das Problem ist folgendes: Wenn Du ein uidoc.Close machst, musst Du alle LotusScript- Objekte, die von diesem uidoc abgeleitet sind auf Nothing setzen. Erst DANN ist das Objekt vollkommen "zerstört" und Du bekommst beim erneuten öffnen wirklich eine neue Instanz.

Also:

Code
Dim unid as String
Dim ses as New NotesSession
Dim db as NotesDatabase
Dim ws as New NotesUIWorkspace

set db = ses.CurrentDatabase
Dim doc as NotesDocument

set doc = uidoc.Document
unid = doc.Universalid

Call uidoc.Close(True)
Set doc = Nothing
Set doc = db.GetDocumentByunid( unid )
Call ws.EditDocument( doc, True )

Das sollte so eigentlich funktionieren.
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 Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Antw:Reopen von Dokumenten nach der Replikation
« Antwort #3 am: 22.02.22 - 07:40:20 »
@Tode: Im Prinzip geht das so, ich denke, das wird aber im QueryOpen nicht funktionieren.

Ggf. müsste man also im QueryOpen ein Flag setzen und im PostOpen dann die Zeilen von Tode einbauen oder gleich alles im PostOpen machen.

-Werner

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Antw:Reopen von Dokumenten nach der Replikation
« Antwort #4 am: 22.02.22 - 09:06:25 »
Danke für den Hinweis, Werner. Ich hatte das "QueryOpen" übersehen... Du hast recht: im QueryOpen geht das auf keinen Fall.
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)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz