Domino 9 und frühere Versionen > ND7: Entwicklung
ESC verhindern
vbis:
Hallo liebe Notes-Gemeinde.
Ich habe da mal ein Anliegen, dass ich selber nur mit einer Kombination von Formel und Script-Sprache hinbekommen würde und hoffe auf Hilfe.
Das Thema wurde auch schonmal behandelt, damals aber über Script gelöst, was ich nicht nachbauen konnte, weil ich Script kaum (bis gar nicht) verwende.
Meine Hoffnung liegt jetzt in der guten alten Formelsprache...
Damit die Mitarbeiter die Schaltflächen nutzen (und damit auch weitere Aktionen neben dem Speichern ausgeführt werden), ist mein Anliegen die ESC-Taste "zu neutralisieren".
Dafür habe ich das Feld "SaveOptions" genutzt, sodass nicht mehr abgefragt wird, ob gespeichert werden soll.
Leider gehen eben doch manchmal die Mitarbeiter mit ESC aus veränderten Dokumenten heraus und verlieren so Ihre Arbeit.
Um das abzufangen, wollte ich jetzt eine Abfrage im Queryclose hinterlegen, um diese Problem zu beheben:
@If(@IsDocBeingEdited;
@Do(
_rc := @Prompt([YesNo];"Frage";"Wollen Sie wirklich abbrechen?");
@If(_rc;
SaveOptions="0";
@return("Bitte klicken Sie ansonsten auf die Schaltfläche <Speichern>, damit Ihre Änderungen nicht verloren gehen."))
);"")
In einem anderen Fall habe ich in Script mit continue = false gearbeitet, was das Schließen auch verhindert.
Leider bin ich in Script nicht besonders fit, sodass ich den restlichen oberen Teil nicht nachbauen kann und das @return (ich habe auch schon andere Sachen probiert) verhindert leider nicht das Schließen des Dokumentes.
Über Ihre/Eure Unterstützung bei dem kleinen Problem wäre ich sehr dankbar.
pram:
Ich würde mit LotusScript einfach im QueryClose continue = false setzen.
(Mit entsprechendem Prompt davor)
Gruß
Roland
koehlerbv:
Nö, nö - das wird nix: Lediglich ein Continue = False würde ja dazu führen, dass man das Dokument nie wieder schliessen kann und aus der Nummer nur herauskommt, wenn man den Client killt.
Ausserdem will Thomas eine Formelsprachen-Lösung.
Mein erster Rat: Lerne LotusScript, Thomas. Ohne vergibst Du Dir ja nur Möglichkeiten.
Nummer 2: Mit dem QuerySave / QueryClose in Formelsprache wirst Du nicht froh. Füge Deiner Maske ein editierbares und verstecktes Feld hinzu. Setze dies durch Deinen Speichern-Button auf einen bestimmten Wert. Prüfe in der Feldvalidierung und unter der Bedingung "Das Dokument wird gerade gespeichert", ob der Wert da drin steht. Wenn nicht: Gemecker! Wenn ja, muss Du dafür sorgen, dass der Wert nicht mit abgespeichert wird, sonst hast Du Deine Prüfung für die Zukunft ausser Betrieb genommen.
Coden musst Du jetzt selber. Dabei stellst Du vielleicht auch fest, dass das mit LotusScript vielleicht doch einfacher gehen könnte ;)
Bernhard
vbis:
Das hilft mir auf jeden Fall schon mal weiter.
Lotus Script ist so eine Sache... Die unterschiedlichen Arten von Front- und Backend haben sich mir leider noch nicht so richtig erschlossen.
Ich werde es am Montag gleich mal so probieren, allerdings würde es mich auch interessieren, ob es etwas vergleichbares zu continue=false auch in der Formelsprache gibt. @failure, @return und ähnliches hat immer nicht funktioniert.
Euch allen noch ein schönes Wochenende!
pram:
Was vergleichbares gibt es in Formelsprache (soweit ich weiß) nicht.
Der LS-Code für dein Problem wäre ja eigentlich ziemlich simpel:
--- Code: ---if msgbox("Wollen Sie abbrechen", 4) = 7 then
continue = false
end if
--- Ende Code ---
(ungetestet!). Schau dir ggf. die Hilfe zu msgbox mal an...
Es sind ja auch immer wieder gute Beispiele in der Hilfe.
Gruß
Roland
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln