Domino 9 und frühere Versionen > ND6: Entwicklung
uidoc aus doc ermitteln
Axel:
--- Zitat von: Andreas Huhn am 08.12.05 - 09:50:05 ---Ein Problem ist es immer dann, wenn Fenster ohne für den Benutzer ersichtlichen Grund ihren Platz im Vordergrund tauschen. Denn das verwirrt eine ganze Reihe Anwender.
--- Ende Zitat ---
Das sehe ich genauso. Aber was willst du denn damit errreichen. Vielleicht gibt's noch einen anderen Weg.
Axel
Andreas Huhn:
das übliche Lied..
parent ruft child auf -> nach abgeschlossener Bearbeitung (postsave) soll ein Statusindikator des parent aktiv werden (hidewhen-Formel ergibt nun FALSE) -> dazu muß der refresh vom child ausgelöst werden damit das auch ohne Benutzereingriff sofort sichbar wird.
da dafür nur das uidocument eine Methode bereithält muß der Umweg über editdocument gegangen werden. Funktioniert ja auch, bis auf die Nebenwirkung von editdocument das Element unvermittelt in den Vordergrund zu bringen.
Axel:
--- Zitat von: Andreas Huhn am 08.12.05 - 10:50:45 ---das übliche Lied..
--- Ende Zitat ---
Richtig. Hier kommt wieder die "sagenhafte Echtzeitverarbeitung" von Notes ins Spiel. >:D
Wer Automatismus braucht und haben will muss leiden. :o ;)
Aber Spass beiseite. In diesem Fall wird dir fast nicht anderes übrigbleiben. Oder der User refresht das Dokument manuell.
Axel
Andreas Huhn:
Ja, bis vorhin habe ich das über eine Schaltfläche für den Benutzer gelöst die ein @Command([RefreshHideFormulas]) auslöste. Nun denke ich aber daß es sinnvoller ist das Fenster dann einfach automatisch zu schließen, zumal die Bearbeitung daran zum Zeitpunkt des speicherns eigentlich bereits abgeschlossen sein müsste.
Du hast schon recht, je automatischer die Abläufe von Hand gehen sollen und je weniger der Anwender von den eigentlichen Vorgängen mitbekommen soll, desto mehr Hirnschmalz muß bei der Entwicklung investiert werden.
Danke Axel.
Gruß,
Andreas
Johnson:
Ich hoffe ich hab´s richtig verstanden und schlage dir hier jetzt keinen Misst vor.
* Du hast das Parent in Bearbeitung
* öffnest das Child
* Bearbeitst das Child
* Speicherst das Child und aktualisiers gleichzeitig das Parent
* Schließt das Child
* Das Parent sollte aktualisiert sein
Beim Öffnen des Childs holst du die in Initialize das aktuelle NotesUIDocument in eine, in der Maske des Childs, global deklarierte Objektvariable.
Beim Speichern des Childs kannst du das Parent (das eigentlich gerade geöffnet ist) im Backend als NotesDocument-Objekt ermitteln und mit dem NotesDocument-Objekt der globalen Objektvariable vergleichen und so ggf. aktualisieren.
Globals (Maske des Childs):
--- Code: ---Public uidoc_parent As NotesUIDocument
Sub Initialize
Dim uiws As New NotesUIWorkspace
Set uidoc_parent = uiws.CurrentDocument
End Sub
--- Ende Code ---
Postsave (Maske des Childs)
--- Code: ---Sub Postsave(Source As Notesuidocument)
Dim db As NotesDatabase ' current database
Dim doc_parent As NotesDocument ' parent document of the current document
Dim s As New NotesSession ' current session
' get the parent document
Set db = s.CurrentDatabase
Set doc_parent = db.GetDocumentByUNID(Source.Document.ParentDocumentUNID)
' refresh parent if is currently open
If doc_parent.UniversalID = uidoc_parent.Document.UniversalID Then
Call uidoc_parent.Refresh
End If
End Sub
--- Ende Code ---
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln