Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: cg-home am 27.06.04 - 18:47:40

Titel: Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag 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
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: TMC am 27.06.04 - 18:53:51
Soweit ich weiß gibt es leider keine Möglichkeit in Formelsprache, um ein continue = false zu machen.

Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: animate am 27.06.04 - 19:02:21
für die Eingabevalidierung mit Formelsprache gibts für Felder die "Input Validation". Da kannst du deine Formeln unterbringen
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: cg-home am 27.06.04 - 21:08:06
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
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: animate am 27.06.04 - 21:22:12
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)
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: TMC am 27.06.04 - 21:29:33
<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....
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: Glombi am 27.06.04 - 21:48:07
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
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: animate am 27.06.04 - 21:50:05
das ist gut :D
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: TMC am 27.06.04 - 22:03:08
Aber Hallo, ist eigentlich einen Eintrag in Tipps&Tricks Wert  :D
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: cg-home am 27.06.04 - 22:20:49
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
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: TMC am 27.06.04 - 22:26:21
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.
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: Glombi am 28.06.04 - 10:12:08
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
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: cg-home am 28.06.04 - 19:12:07
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
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: TMC am 28.06.04 - 20:34:08
Setzt Du bitte den Thread noch auf (http://www.atnotes.de/YaBBImages/solve.gif) ?

Danke
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: cg-home am 29.06.04 - 21:14:00
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
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: TMC am 29.06.04 - 23:08:12
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
Titel: Re:Im QuerySave-Event das Speichern per Formel abbrechen.
Beitrag von: ata am 30.06.04 - 07:59:49
... das war ich...  ;)

ata