Das Notes Forum
Domino 9 und frühere Versionen => Administration & Userprobleme => Thema gestartet von: lenchen2 am 19.12.05 - 16:56:23
-
Hallo!
Erst mal vielen Dank, dass es in diesem Forum immer so viele Tipps gibt - ohne wär ich schon oft aufgeschmissen gewesen.
Nur leider hab ich jetzt ein Problem zu dem ich im Forum auch keine Lösung gefunden hab:-(
Hab in einen Button in einer Seite (im linken Frame) ein LotusScript gepackt.
Das sucht mir abhängig vom aktuellen User das dazugehörige Dokument aus.
Jetzt soll genau dieses Dokument im "main"-Frame geöffnet werden.
Und genau da liegt mein Problem- dacht eigentlich, dass das nicht so schwer sein dürfte, aber - falsch gedacht..
Kann mir jemand helfen?
Gruß Lenchen2
Hab meinen Code mal unten hin kopiert.
Sub Initialize
'Global
Dim a As String
Dim oSession As New NotesSession
Dim DBs As Notesdatabase
Dim DB As Notesdatabase
Dim DBView As NotesView
Dim View As NotesView
Dim dDoc As NotesDocument
Dim Doc As NotesDocument
Dim vc As NotesViewEntryCollection
Dim UserName As String
Dim entry As NotesViewEntry
Dim sOE As String
Dim ws As New NotesUIWorkspace
Set DBs = oSession.getDatabase(....nsf)
UserName = oSession.UserNamelist(0).Abbreviated 'aktuellen User auslesen
Set View=DBs.GetView("Mitarbeiter nach Name")
Set vc = view.GetAllEntriesByKey(UserName)
If Not (vc Is Nothing) Then
Set entry = vc.GetNthEntry(1) ' zieht das erste Summendokument des Users
Set Doc= entry.document
sOE = getItemT(Doc,"MI_OE") ' zieht die zum User gehörende OE
If sOE<>"" Then
Set view=DBs.GetView("Übersicht1")
Set vc = view.GetAllEntriesByKey(sOE)
If Not (vc Is Nothing) Then
Set entry = vc.GetNthEntry(1)
Set Doc= entry.document
Call ws.SetTargetFrame("main") <---Hier hängt's!
Call ws.EditDocument(Doc) <---Diese Befehle mag LN wohl hier nicht
End If
End if
....
End Sub
-
Welche Meldungen bekommst Du bzw. welche (unerwünschte) Reaktionen kannst Du beobachten ?
Bernhard
-
Guten Morgen!
Also wenn ich zu "Call ws.editdocument(doc)" komme dann bringt er die Fehlermeldung als Messagebox "Notes Error - Der angegebene Befehl ist vom Arbeitsbereich aus nicht verfügbar"
Weißt du warum? Ich leider nicht...
Gruß Lenchen2
-
Hallo Ihr da drausen!
Hat jemand Zeit mir weiterzuhelfen - bin am verzweifeln...
Gruß Lenchen2
-
Also wenn ich zu "Call ws.editdocument(doc)" komme dann bringt er die Fehlermeldung als Messagebox "Notes Error - Der angegebene Befehl ist vom Arbeitsbereich aus nicht verfügbar"
Weißt du warum? Ich leider nicht...
Weil der Intelligenzbolzen den Focus leider nicht auf dem main Frame, sondern immer noch auf den Navi Frame hat.
So ein ähnliches Problem haben wir aktuell im !!Help!!, wo man Aktionen aus der Navigation heraus aufrufen kann. Ein Createdocument funktioniert solange wie man ein neues Hauptdokument erstellt. Will man ein Antwort Dokument erstellen geht das in die Hose weil er den Focus verliert.
-
Gut - dann bin ich wenigstens nicht schuld:-)
Aber hab jetzt mal den Button in den Main-Frame rein gestellt, da kommt die gleiche Fehlermeldung...
Gibt's nen andern Weg um das Dokument im Mainfraim zu öffnen? Oder es kann auch ein neues Fenster aufgehen in dem sich das Dokument öffnet. Will doch nur, dass die User das Dokument sehen können.
Lenchen2
-
Call ws.EditDocument(Doc)
wird nicht funktionieren, da Notes als 1. Parameter einen Integer (true/false) erwartet. Also so
Call ws.EditDocument(true, Doc) 'im Bearbeitenmodus öffnen
bzw.
Call ws.EditDocument(false, Doc) 'im Lesemodus öffnen
Damit eine Maske in einen bestimmten Rahmen geöffnet wird, kannst Du dieses in den Maskeneigenschaften einstellen (Auto Frame). Das würde ich auch mal probieren.
Folgendes ist auch noch zu berücksichtigen:
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.
Set notesUIDocument = notesUIWorkspace.EditDocument( [editMode] , [notesDocument] , [notesDocumentReadOnly] , [documentAnchor$] , [returnNotesUIDocument] , [newInstance] )
returnNotesUIDocument
Boolean. Optional. If True (default), attempts to return the NotesUIDocument object; if False, does not attempt to return the object. See the usage note on lsERR_LSXU13_ANCESTOR_TARGET_FRAME.
Hinweis This parameter is new with Release 5.0.6.
Andreas
-
Danke Glombi!!!!:-)
Wegen so einem kleinen "True" bin ich fast verzweifelt und jetzt funktioniert's!!!
Hab nur das True ergänzt und dann hat das mit dem Frame auch gepasst.
Lenchen2