Domino 9 und frühere Versionen > ND6: Entwicklung
Call uidoc.Reload - Aktualisieren eines Doks im Lesemodus
lotus blue:
Hallöchen.
Also den Debugger gestartet und die Maskenaktion ausglöst-> Pustekuchen. Nix zu sehen.
Hab jetzt nochmals das Script umgebaut:
Keine Fehler, aber auch leider keine Änderung der Feldwerte :-:
Sub Click(Source As Button)
Dim session As New notessession
Dim db As notesdatabase
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim unid As String
Set db = session.currentdatabase
Set uidoc = workspace.CurrentDocument
unid = uidoc.document.universalID
Set doc = db.GetDocumentByUNID (unid )
If Not ( uidoc.IsNewDoc ) Then
Call uidoc.Close
Set doc = db.GetDocumentByUNID (unid )
Call workspace.EditDocument(False,doc)
End If
End Sub
Gruß
DerAndre:
Dirks Post hat Du gelesen?
lotus blue:
--- Zitat von: DerAndre am 28.10.08 - 14:31:43 ---Dirks Post hat Du gelesen?
--- Ende Zitat ---
Ja natürlich. Aber bin wohl auf dem Holzweg und versteh was vollkommen falsch.
Ich weise doch zuerst den Wert zu
"unid = uidoc.document.universalID"
und dann erst hol ich das Dok ::) ::).
"db.GetDocumentByUNID (unid )"
???
dirk_2909:
Was genau ist eine Maskenaktion?
Ich vermute mal, dass Du dein Script in einem Button eingefügt hast ?!
Folgendes habe ich mal nachgebaut und positiv getetstet:
--- Code: ---Dim s As New notessession
Dim db As notesdatabase
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim unid As String
On Error Goto ERROR_ME
Set db = s.currentdatabase
Set uidoc = ws.CurrentDocument
If uidoc.IsNewDoc Then
' Msgbox "Sie können diese Aktion nicht von neuen Dokumenten aus ausführen!" ,64, "Hinweis"
Exit Sub
End If
If uidoc.Editmode Then
Msgbox "Das aktuelle Dokument befindet sich im Bearbeitungsmodus!" ,64, "Abbruch"
Exit Sub
End If
unid = uidoc.document.universalID
If unid = "" Then
Msgbox "Das aktuelle Dokument ist nicht gespeichert oder defekt!" ,64, "Hinweis"
Exit Sub
End If
Set doc = db.GetDocumentByUNID (unid )
If Not doc Is Nothing Then
Call uidoc.Close
Call ws.EditDocument(False,doc)
Else
Msgbox "Das Kontextdokument konnte nicht initialisiert werden!" , 16 , "Fehler"
End If
EXIT_OK:
Exit Sub
ERROR_ME:
Msgbox "Fehler aufgetreten: " & Error & " (" & Err & ") - Zeile " & Erl
Err = 0
Resume EXIT_OK
--- Ende Code ---
dirk_2909:
zu #27:
Ist soweit richtig. Aber warum 2 mal:
…
Set doc = db.GetDocumentByUNID (unid )
If Not ( uidoc.IsNewDoc ) Then
Call uidoc.Close
Set doc = db.GetDocumentByUNID (unid )
…
Aber wenn der Wert sich nicht ändert, kann es auch an einer anderen Stelle liegen?!
Wie verhält es sich denn, wenn Du das Dokument (UI) normal schließt (z.B. mit ESC) und sofort danach wieder
öffnest?
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln