Hallo zusammen,
bevor wir das Fixpack1 installiert haben lief folgender Code anstandslos:
Aktion in DB 1 erstellt im Backend ein Dokument in DB 2. Anschließend wird DB2 im Frontend geöffnet.
linker Frame= Gliederung
rechter Frame unten= Ansicht
rechter Frame ober= Dokument
Vorgeplänkel .....
Call doc.Save(True,True)
Call ws.opendatabase(dbextern.Server, dbextern.FilePath)
Set uidbextern=ws.CurrentDatabase
Call ws.SetTargetFrame("Anzeige2")
Call uidbextern.openview("Erstellen\INDE",doc.Projektnummer(0),False)
Call ws.SetTargetFrame("Anzeige")
Call ws.EditDocument(False, doc, False,,False)
Bei Clients mit 8.5.2 läuft es nach wie vor, Clients, die den Fixpack 1 bekommen haben liefern nun o.g. Fehlermeldung.
Weder die Ansicht, noch das Dokument werden geöffnet.
Das neue Dokument ist vorhanden, man muss sich halt dorthin klicken. Das ist den Anwendern sehr schwer vermittelbar.
An FP 1 führt kein Weg vorbei, hat Jemand eine Idee, wie man den Fehler umschifft?
bisher ausprobiert:
- Cache gelöscht, recompiliert,
- doc neu gesetzt:
Call doc.Save(True,True)
ID=doc.UniversalID
Set doc=Nothing
Call ws.opendatabase(dbextern.Server, dbextern.FilePath)
Set uidbextern=ws.CurrentDatabase
Set doc=dbextern.GetDocumentByUNID(ID)
- Rahmen auf "" und anschließend neu gesetzt
Bin ratlos....
LG Barbara
habe noch weiter experimentiert.
Um das Aufrufen des zweiten Frames ("Anzeige") zu vermeiden, markiere ich das Dokument in der Ansicht - dabei wird es im oberen Frame angezeigt:
Set doc=Nothing
Call ws.opendatabase(dbextern.Server, dbextern.FilePath)
Set uidbextern=ws.CurrentDatabase
Set doc=dbextern.GetDocumentByUNID(ID)
Call ws.SetTargetFrame("")
Call ws.SetTargetFrame("Anzeige2")
Call uidbextern.openview("Erstellen\INDE",doc.Projektnummer(0), False)
Set uiview=ws.CurrentView
Call uiview.SelectDocument(doc)
Funktioniert solange, wie der Debugger eingeschaltet ist. Ohne Debugger kommt die Fehlermeldung und es wird nicht die richtige Ansicht geöffnet.
:-:
Barbara
so, einen "würgaround" gefunden. Für Alle, die es interessiert:
Rufe aus DB1 einen Agenten in DB2 auf und übergebe das Dokument:
Call doc.Save(True,True)
Set agent=dbextern.GetAgent("Entwurf_oeffnen")
Call ws.opendatabase(dbextern.Server, dbextern.FilePath)
Call agent.Run(doc.NoteID)
Agent in DB2:
Dim session As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uidb As NotesUIDatabase
Dim agent As Notesagent
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Set uidb=ws.Currentdatabase
Set db= uidb.Database
Set agent=session.Currentagent
Set doc=db.GetDocumentByID(agent.ParameterDocID)
'Call ws.SetTargetFrame("Anzeige2")
'Call uidb.openview("Erstellen\INDE",doc.Projektnummer(0))
'Call ws.SetTargetFrame("Anzeige")
Call ws.EditDocument(False, doc, False,,False)
Schönheitsfehler:
Es werden 2 Fenster geöffnet, Datenbank und das Dokument.
Das setzen der Frames und öffnen der Ansicht etc. funktioniert immer noch nicht - daher ist es auskommentiert.
Aber der pingeligste User kann damit leben und somit ist mir erstmal der Druck genommen.
Vielleicht hat ja doch noch jemand eine zündende Idee....
LG Barbara