Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: nieke am 29.08.02 - 14:09:51

Titel: Öffnen von Dokument verhindern
Beitrag von: nieke am 29.08.02 - 14:09:51
Hi!

Seit mindestens zwei Tagen bastel ich da schon rum, ich bekomme einfach nicht raus, warum das immer wieder passiert.
Vielleicht wißt Ihr das ja...
Also, ich öffne ein Dokument aus einer Ansicht heraus.
Von da aus betätige ich einen Button. Der dann folgendes Skript ausführt:

Sub Click(Source As Button)
     Dim uidoc1 As notesuidocument
     Dim uidoc2 As notesuidocument
     
     Dim docA As notesdocument
     Dim docB As notesdocument
     Dim unid As String
     
     Dim session As New notessession
     Dim db As notesdatabase
     Dim ws1 As New NotesUIWorkspace
     
     Set uidoc1=ws1.currentdocument
     Set docA=uidoc1.document
     unid=docA.UniversalID
     
     Set uidoc=ws1.composedocument("","","Antwortmaske")
     Call uidoc1.deletedocument ()
     
     Set uidoc2=ws1.currentdocument
     Call uidoc2.gotoField ("Datum")
     
     'Set db=session.currentdatabase
     'Set docB =db.getdocumentbyunid (unid)
     
     'Call docB.remove (True)
     Call ws1.viewrefresh
     
End Sub

Er erstellt auch das neue Antwortdokument, löscht das Mutterdokument. Das funktioniert alles soweit.
Doch dann passiert es: Das neu erstellt Antwortdokument sollte den Fokus erhalten. Es öffnet sich jedoch zusätzlich ein anderes Dokument aus der Ansicht. WARUM????
Ich sage ihm nirgendwo, daß er es tun soll. Wie kann ich das denn verhindern?

Vielleicht wißt Ihr da ja einen Trick oder den Punkt an dem ich ansetzen muß.

DANKE
Titel: Re: Öffnen von Dokument verhindern
Beitrag von: Zimmi am 02.09.02 - 12:04:28
Hallo nieke,

du hast zwar uidoc1 und uidoc2 deklariert, aber du nutzt am Ende ledglich "uidoc" siehe u.a. Zeile.

Zitat

     Set uidoc=ws1.composedocument("","","Antwortmaske")
     Call uidoc1.deletedocument ()
     
     Set uidoc2=ws1.currentdocument
     Call uidoc2.gotoField ("Datum")


Ist bestimmt nur ein Schreibfehler bei so vielen gleichlautenden Variablen.

Grüße von
Zimmi
Titel: Re: Öffnen von Dokument verhindern
Beitrag von: nieke am 02.09.02 - 15:03:01
stimmt!
Aber leider ändert es nix daran, daß er mir dann ein anderes Dokument öffnet, was ich ja gar nicht will.
Er öffnet mir nach Ablauf des Scripts immer das in der Ansicht vor dem aktivierten Dokument stehende.
Warum bloß?
Titel: Re: Öffnen von Dokument verhindern
Beitrag von: Rob Green am 02.09.02 - 17:00:37
hm..bevor ich jetzt zu lange auf den Code starre:; machs doch so, daß Du über die Backendmethode ein Response erstellst ( Call notesDocument1.MakeResponse( notesDocument2 ) = doc1 wird response von doc2 ) und per

Dim ws As New notesuiworkspace, uidoc As notesuidocument
     Set uidoc = ws.EditDocument( True , doc)

in den Fenster-Vordergrund holst, wobei "doc" das im Backend erstellte Doc referenziert.

Hm..sollte auch ohne Backend Erstellen gehen, indem Du die letzten beiden Codezeilen verwendest. Mußt halt nur das neu erstellte UiDoc dem Backend Doc "übergeben" = > "set doc = source.document"

Titel: Re: Öffnen von Dokument verhindern
Beitrag von: nieke am 03.09.02 - 17:22:00
... so, habe ich versucht. Klappt nicht. Es wird immer noch wie von Geisterhand ein weiteres Dokument geöffnet. Waran liegt das denn?
Ich sage ihm doch an keiner Stelle, daß er nach Erstellung und Löschung der Dokument irgendein anderes öffnen soll. Oder vielleicht doch?