Domino 9 und frühere Versionen > ND8: Entwicklung

Öfnnen eines neuen Dokuments in anderem Frame anzeigen

(1/1)

ZaLudtske:
Hallo,

ich muss seit über 3 Jahren mal wieder was in Notes entwickeln und stehe auf dem Schlauch.

Ich habe ein Frameset im linken Frame werden wird eine Ansicht angezeigt der Dokumente per Doppelklick im rechten Frame geöffnet werden sollen. Mit bestehenden Dokumenten funktioniert dies. Nun soll ich die Datenbank so anpassen, das im linken Frame der Posteingang angezeigt wird und bei Doppelklick im rechnte Frame ein neues Dokument mit Daten aus der eingehenden Mail angezeigt wird. Beim Ausführen des angepassten Codes erhalte ich die Meldung "Notes-Fehler - Zielrahmen ist Vorgänger des Script-Objekts" (siehe auch Anhang)

Hier ist noch der Quellcode:


--- Code: ---Sub Queryopendocument(Source As Notesuiview, Continue As Variant)

Dim nwuGUI As NotesUIWorkspace
Dim nduMe As NotesUIDatabase
Dim ndbDB As NotesDatabase
Dim ndcSelection As NotesDocumentCollection
Dim ndoDoc As NotesDocument
Dim ndoNew As NotesDocument
Dim nitSource As NotesItem
Dim nitDest As NotesItem
Dim nduThis As NotesUIDocument

Dim vntValue As Variant

Set nwuGUI = New NotesUIWorkspace
Set nduMe = nwuGUI.GetCurrentDatabase()
Set ndbDB = nduMe.Database()

nwuGUI.SetTargetFrame("nrmDatenbereich")

Set ndcSelection = Source.Documents

If ndcSelection.Count > 0 Then
Continue = False

Set ndoDoc = ndcSelection.GetFirstDocument

Set ndoNew = ndbDB.CreateDocument()

ndoNew.ReplaceItemValue "Form", "nfrArtikel"

vntValue = ndoDoc.GetItemValue("Subject")
ndoNew.ReplaceItemValue "t_Titel", vntValue

Set nitSource = ndoDoc.GetFirstItem("Body")
Set nitDest = nitSource.CopyItemToDocument(ndoDoc, "t_Inhalt")

ndoNew.ReplaceItemValue "t_SourceDocUId", ndoDoc.UniversalID

Set nduThis = nwuGUI.EditDocument(True, ndoNew)

End If

End Sub
--- Ende Code ---

Kann mir jemand auf die Sprünge helfen?

Vielen Dank im Voraus.

Rainer

ERR:
Hallo Rainer,

es sieht so aus, als ob das UI-Dokument nicht richtig zurückgegeben und/oder das SetTargetFrame mit neuen Dokumenten so nicht korrekt funktioniert.

Aus der Notes-Designer Hilfe:

--- Zitat ---EditDocument method
...
This method raises the error lsERR_LSXU13_ANCESTOR_TARGET_FRAME (4426) if it attempts to return a NotesUIDocument object for a target frame that is the ancestor of the frame containing the code. You can suppress returning the object by specifying returnNotesUIDocument as False. The document opens in the target frame but you do not have access to its NotesUIDocument object. Calling this method as a subroutine does not suppress returning the object; you must specify returnNotesUIDocument as False.

--- Ende Zitat ---

Da du es hier anscheinend auch nicht brauchst, versuch mal anstelle von


--- Code: ---Set nduThis = nwuGUI.EditDocument(True, ndoNew)

--- Ende Code ---

das


--- Code: ---Set nduThis = nwuGUI.EditDocument(True, ndoNew, , , False)

--- Ende Code ---

MFG
ERR

P.S.: Rainer = Mr. Seagate ;)


ZaLudtske:
Hallo,

die Änderung aht leider das Problem nuicht behoben.

Rainer

ERR:
Immer noch die gleiche Fehlermeldung?

Da war auch noch ein Fehler meinerseits:


--- Code: ---Call nwuGUI.EditDocument(True, ndoNew, , , False)

--- Ende Code ---

Ein "Call" anstelle des "Set...", da das "False" als 5. Parameter ja bewirkt, das kein UI-Dokument zurückgegeben wird.

MFG
ERR

ERR:
Falls es weiterhin so nicht funktioniert, das ganze mit Hilfe eines Agenten machen, der das ausgewählte Dokument übergeben bekommt und den Code dann dort ausführen.

Siehe Beispiel aus der Notes-Designer-Hilfe:

--- Code: --- REM Start agent and pass note ID of document
  Set agent = _
  db.GetAgent("Agent to be run parameter LotusScript")
  If agent.Run(doc.NoteID) = 0 Then
    Messagebox "Agent ran",, "Success"
  Else
    Messagebox "Agent did not run",, "Failure"
  End If

--- Ende Code ---

MFG
ERR

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln