Domino 9 und frühere Versionen > ND6: Entwicklung

Call uidoc.Reload - Aktualisieren eines Doks im Lesemodus

<< < (6/13) > >>

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