Domino 9 und frühere Versionen > ND7: Entwicklung

Kollision zwischen OnHelp und Continue = False in Querysave

<< < (3/3)

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