Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: cg-home am 27.06.04 - 18:47:40
-
Hi Ihr wissenden,
wie kann man über die Formelsprache im QuerySave-Event einer Maske das speichern des Dokumentes verhindern?
Mit @Return("") kann man die weitere Verarbeitung der Formel abbrechen aber leider nicht das Speichern an sich. Mit continue=false in LotusScript soll es funktionieren aber ich habe schon einen Aufwendigen Workflow in Formelsprache erstellt, denn ich vermutlich auch gar nicht in LotusScript umwandeln könnte. Jetzt soll eben noch eine Eingabevalidierung für verschiedene Felder hinzukommen, aber das Abbrechen des Speicherns funktioniert nicht. Derzeit habe ich die Eingabevalidierung im Feld selber eingetragen, aber diese spricht sofort an, wenn ich in das Feld darunter will und nicht erst beim Speichern - ist halt nervig.
Wenn mir jemand von euch weiterhelfen könnte, wäre das echt prima.
mfg Christian
Spitzname: cg-home
380 User R5.0.12 auf Citrix-Clients
3 Server R5.0.12 auf Win2000
-
Soweit ich weiß gibt es leider keine Möglichkeit in Formelsprache, um ein continue = false zu machen.
-
für die Eingabevalidierung mit Formelsprache gibts für Felder die "Input Validation". Da kannst du deine Formeln unterbringen
-
Hi Ihr,
danke für eure Nachricht.
Ich habe mir fast schon gedacht, dass das nicht in der Formelsprache geht. Derzeit habe ich die Validierung schon im "Input Validation" stehen aber sobald der User erst ein anderes Feld ausfüllen will, geht das nicht weil die "Input Validation" gleich anspricht und ihn nicht rausläst. "Felder automatisch aktualisieren" ist in den Masken-Eigenschaften aktiviert, damit ich mit einem Bildwechsel auf die Änderung eines Statuswechsels reagieren kann. Wenn das nicht eingestellt ist, erfolgt die Validierung erst beim Versuchten abspeichern.
Kennt ihr da noch nen Trick?
mfg Christian
Spitzname: cg-home
380 User R5.0.12 auf Citrix-Clients
3 Server R5.0.12 auf Win2000
-
evtl. in der InputValidation mit
@IsDocBeingSaved
arbeiten, also nur prüfen, wenn das Dokument auch gespeichert wird
Beispiel (keine Ahnung, obs funktioniert)
@If(@IsDocBeingSaved & @Length(x) = 0;@Failure("Feld x ausfüllen");@Success)
-
<etwas offtopic>
Alternativ schließt Du Dich hier an:
http://www.atnotes.de/index.php?board=7;action=display;threadid=16422
Kann zwar noch ein Weilchen dauern, aber irgendwann haben wir dann die History-Klassen fertig. Sollte dann auch kein Kunststück sein, noch eine Input-Validation dort einzubringen :-)
</etwas>
Soweit ich weiß klappt das was Thomas da schreibt mit @IsDocBeingSaved. Ist eine gute Alternative....
-
So geht es in Formelsprache:
Quersave:
FIELD SaveOptions := SaveOptions;
@If(
NichtSpeichern = "1";
@Return(@SetField("SaveOptions";"0"));
@SetField("SaveOptions";@Unavailable)
);
@Prompt( [Ok]; "";"Das kannst Du nur lesen, wenn alles ok ist!")
Die Bedingung
NichtSpeichern = "1";
musst Du halt durch Deine Bedingung ersetzen, wann abgebrochen und nicht gespeichert werden soll.
Andreas
-
das ist gut :D
-
Aber Hallo, ist eigentlich einen Eintrag in Tipps&Tricks Wert :D
-
Hi ihr,
das sieht sehr vielversprechend aus - Danke euch.
Ich werde es morgen früh gleich mal testen.
Noch eine kleine Wissenslücke bei mir zum Thema "Feld SaveOptions". Wenn darin "0" steht dachte ich wird nicht gespeichert aber dennoch geschlossen eine Art Abbruch.
Aber spätestens morgen müsste ich diese Lücke geschlossen haben.
Gute Nacht und vielen Dank nochmal - ich melde mich
mfg Christian
Spitzname: cg-home
380 User R5.0.12 auf Citrix-Clients
3 Server R5.0.12 auf Win2000
-
Noch eine kleine Wissenslücke bei mir zum Thema "Feld SaveOptions". Wenn darin "0" steht dachte ich wird nicht gespeichert aber dennoch geschlossen eine Art Abbruch.
Wenn in dem besagten Feld eine "0" steht (ist übrigens ein String und kein Integer oder so), dann wird das Dok nicht gespeichert.
Andreas macht da einen Trick: Er setzt temporär das Feld auf "0", aber verwirft das auch gleich wieder mit @Unavailable. Das muss auch so sein, sonst könnte man das Dok nicht mehr speichern.
-
Aber Hallo, ist eigentlich einen Eintrag in Tipps&Tricks Wert :D
Gesagt, getan ;)
http://www.atnotes.de/index.php?board=9;action=display;threadid=16581 (http://www.atnotes.de/index.php?board=9;action=display;threadid=16581)
Es stellt sich mir mal wieder die Frage, ob wir wirklich 2x Tipps & Tricks in R5 und R6 brauchen.
Andreas
-
Hi ihr,
ich habe beides getestet, das @IsDocBeingSaved von Thomas und das mit dem Feld "SaveOptions" von Andreas. Beides funktioniert perfekt - Danke nochmal an Euch
mfg Christian
Spitzname: cg-home
380 User R5.0.12 auf Citrix-Clients
3 Server R5.0.12 auf Win2000
-
Setzt Du bitte den Thread noch auf (http://www.atnotes.de/YaBBImages/solve.gif) ?
Danke
-
Hi TMC,
wusste gar nicht das man das kann und soll ist aber eigentlich logisch. Habe in diesem Thread einige Zeit nach diesem "erledigt" Button gesucht aber immer nur den "unerledigt" Button gefunden. Doch dieser Thread wurde anscheinend schon als erledigt eingestuft. Bei dem anderen Thread der auch dank euch beantwortet wurde habe ich es gleich nachgeholt. Beim nächsten mal weiß ich es.
mfg Christian
-
Hi Christian,
kann auch sein dass ein R5-Entwicklungs-Moderator auf den Erledigt-Button dann geklickt hatte.
Wie auch immer - weiterhin viel Spaß und Erfolg hier im Forum ;)
Matthias
-
... das war ich... ;)
ata