Domino 9 und frühere Versionen > ND8: Entwicklung

8.5.2 FP1 bug? "Zielrahmen ist Vorgänger des Script Objekts"

(1/1)

Barbara:
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


--- Code: --- 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)
--- Ende Code ---

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:

--- Code: ---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)
--- Ende Code ---

- Rahmen auf "" und anschließend neu gesetzt

Bin ratlos....

LG  Barbara

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:


--- Code: ---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)

--- Ende Code ---

Funktioniert solange, wie der Debugger eingeschaltet ist. Ohne Debugger kommt die Fehlermeldung und es wird nicht die richtige Ansicht geöffnet.

 :-:

Barbara

Barbara:
so, einen "würgaround" gefunden. Für Alle, die es interessiert:

Rufe aus DB1 einen Agenten in DB2 auf und übergebe das Dokument:

--- Code: ---Call doc.Save(True,True)
Set agent=dbextern.GetAgent("Entwurf_oeffnen")
Call ws.opendatabase(dbextern.Server, dbextern.FilePath)
Call agent.Run(doc.NoteID)
--- Ende Code ---


Agent in DB2:

--- Code: ---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)
--- Ende Code ---

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

awagner:
Das hat bei mir Abhilfe geschaffen:

Set uidoc = ws.Editdocument( true, new_doc )

Hartie:
Hallo,

der Bug ist hier offiziell dokumentiert:

https://www-304.ibm.com/support/docview.wss?uid=swg1LO58817

Wir haben einen PMR 86015,SGC,724 eröffnet.

Bitte Euer Problem an diesen PMR dranhängen.

Gruß Hartie

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln