Domino 9 und frühere Versionen > Entwicklung

Anfänger braucht Hilfe - @If funktioniert nicht

<< < (2/2)

robertpp:
Erste Möglichkeit:
über speichern&schließen Button:
@If(zeite="";@Return(@Prompt([OK];"Error";"you must input a end date."));
Status = "";@Return(@Prompt([OK];"Error";"you must input a status."));
@Do(@PostedCommand([FileSave]); @PostedCommand([FileCloseWindow])))

Die zweite Möglichkeit ist eigentlich besser:
Beim Doc unter "Querysave" das ganze einbauen. Gehört halt dann ein wenig abgeändert.
robertpp

MisterDa:
ne, es soll nich über nen extra Button gehen, weil User oft auch über das X die Maske verlassen. Jetz hab ich den Code in die Querysave eingebaut und an meine Felder angeglichen, er schließt nach der Meldung aber trotzdem und speichert ab. Gibts da nen Command oder nen Befehl, um das zu unterbinden`?

MisterDa

Rob Green:
es gibt  nur 2 Wege, den Speichervorgang abzubrechen:

a.) ein @failure in der Validierungsformel eines Feldes
b.) im Query Save ein continue=false innerhalb eines Scripts

@return und dergleichen bringt nicht viel.

3. Weg, der indirekt damit zusammenhängt, wie man Speichern unterbinden kann (nicht unterbrechen !! Unterschied)
Um allerdings nen User zu zwingen, auf nen Button zu klicken, in dem dann die Formelbasierenden Überprüfungen liegen, nimmt man das Feld SaveOptions, berechnet zur Anzeige, hidden, Defaultwert "0" (TEXT !)...solange User auf den Speicherbutton nicht klickt (der in der ersten Zeile sogleich Field SaveOptions:="1" setzt), ist das Document nicht speicherbar, da SaveOptions ein Spezialfeld ist, dessen Sinn es ist, die Speicherabfrage zu unterdrücken.

"0" = rausgehen und trotz Änderungen keine Speicherung UND keine Anfrage "wollen sie..."
"1" = rausgehen und trotz Änderungen speichern OHNE Anfrage "wollen Sie...."

MisterDa:
danke, haut einwandfrei hin mit dem QuerySave :)

MisterDa

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln