Domino 9 und frühere Versionen > ND7: Entwicklung
Kollision zwischen OnHelp und Continue = False in Querysave
Peter Klett:
Hallo Roland,
vielen Dank für den entscheidenden Hinweis (Formelsprache).
Die funktionierende Lösung sieht folgendermaßen aus:
Im OnHelp-Event der kundenindividuellen Teilmaske (kein Zugriff auf fremde Gestaltungselemente notwendig!) wird dieser Formelaufruf eingetragen:
@Command ([ToolsRunMacro]; "(OnHelp)")
Zusätzlich wird ein Agent "OnHelp" erstellt (Auslösen durch Ereignis: Auswahl in der Agentenliste, Ziel: Keines), der folgendes Script enthält (die tatsächliche Hilfefunktion muss dann noch implementiert werden)
Sub Initialize
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Set uidoc = workspace.CurrentDocument
If uidoc.EditMode Then
Print "F1 gedrückt " & uidoc.CurrentField
Else
Print "F1 gedrückt"
End If
End Sub
Das Verwenden des Agenten hat den Vorteil, dass die Hilfe auch im Lesemodus des Dokuments aufgerufen werden kann. Die Lösung ist genau das, was ich gesucht habe, einfach, ohne Eingriff in das bestehende System und allein in den vom Kunden beeinflussbaren Elementen realisierbar.
Viele Grüße
Peter
pram:
Hallo Peter,
dann hat sich das Problem doch noch in Wohlgefallen aufgelöst.
kleiner Tipp noch: falls du eine kontextsensitive Hilfe aufbaust, kannst du übrigens den selben Agenten auch im HelpRequest einer View verwenden. Mit workspace.currentviewAlias kannst du feststellen ob und in welcher View du bist.
Komischerweise ist im Help-Request der View nur Formelsprache möglich... (vermutlich klappts deshalb auch in der Maske nicht)
Gruß
Roland
Peter Klett:
Hallo Roland,
Danke für den Tipp.
Vielen Dank auch noch einmal allen, die hier mitdiskutiert haben.
Viele Grüße
Peter
cebolina:
@Peter
Vielen Dank für's "Kümmern".
Ich habe den Tipp mit Formelsprache und Agent eingebaut und an meine Erfordernisse angepasst - funktioniert!
Gruß Stefan
BigWim:
--- Zitat ---Kein gewöhnlicher Benutzer in dem System hat Löschrechte, in der Regel sind alle Benutzer Autor und es wird mit einem Autorenfeld der Zugriff gesteuert.
--- Ende Zitat ---
Zumindest das haben wir gemeinsam, allerdings entwickle ich Datenbanken ausschließlich für meinen Arbeitgeber. Insofern ist meine Sichtweise (und mein Erfahrungsschatz) bestimmt sehr beschränkt.
In der Regel sollen aber doch Dokumente gelöscht und dann meistens nach dem Vier-Augen-Prinzip. Einer löscht, ein andere bestätigt. Das steuere ich über Flags. Und ein Agent (mit den entsprechenden Berechtigungen natürlich) löscht dann die Dokumente.
--- Zitat ---Wenn der Benutzer ein neues Dokument erstellt hat und ihm Informationen fehlen, .... ist dennoch ein unkorrektes Dokument gespeichert.
--- Ende Zitat ---
In meiner Welt ja, aber nur bis der Agent läuft. Denn solche (zumindest für mich) umfangreichen Datenbanken haben immer "irgendwelche" Aufräumagenten, die für Ordnung sorgen (sollten). Mit mehr Erfahrung und einem ausgefeilterem Design käme ich wahrscheinlich gar nicht erst in solche Zwangslagen ::)
Einmal mehr habe ich hier wieder gelernt, wie entscheidend manche Details sind. Deshalb von mir auch ein Danke!
Markus
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln