Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: rar am 30.07.03 - 16:30:11

Titel: Ungeändertes Dokument speichern
Beitrag von: rar am 30.07.03 - 16:30:11
Hi Leute!
Ich habe folgendes Problem:
Ich erstelle mit in Script ein neues Dokument, befülle ein paar Felder und öffne es dann mit ws.EditDocument.
Beim verlassen des Doks sollte, falls der User keine Änderungen vorgenommen hat, abgefragt werden, ob das Dokument gespeichert werden soll oder nicht.
Leider funktionierts nicht so wie ich will.
Dann hab ich mir gedacht, daß ich im QueryClose könnte ich ja eine Msgbox einbauen, die mich fragt Speichern? Ja/Nein, aber dann weden die Super Formeln im QuerySave und PostSave nicht ausgeführt.
Hat jemand eine Idee, wie ich den Speicherndialog auch ohne Änderung erzwingen kann?

lg
-rar
Titel: Re:Ungeändertes Dokument speichern
Beitrag von: Axel am 30.07.03 - 19:33:31
Hi,

das Problem kenn ich. So richtig gelöst hab ich es allerdings auch noch nicht.

Versuch mal das Dokument zu refreshen. Also so zum Beispiel:

...

Set uidoc = ws.EditDocument...
Call uidoc.Refresh
...

Ist allerdings nur so'ne Idee.

Die Holzhammer-Methode wäre noch ein berechnetes Feld mit @Now einzufügen und auch den Refresh. Dann sollte der Speichern-Dialog angezeigt werden.

Axel
Titel: Re:Ungeändertes Dokument speichern
Beitrag von: eknori (retired) am 30.07.03 - 20:10:30
kann man das nicht darüber steuern, daß man das Verlassen des Docs ausschließlich über einen button steuert ? ( als kei ESC oder so

If your Save button is "more" than just @Command([FileSave]), how can you make sure that they use that button rather than pressing [Esc] and answering "yes" to save it...
 

FIELD SaveFlag:="0";
Form: Add a field at the very end of the form - SaveFlag(type Text, editable, hidden)
                                            Input Validation -
                                            @If(
                                            SaveFlag="0";
                                            @Failure("Use the Save button to save the document");
                                            @Success
                                            )

                                            Action Button: Save
                                            FIELD SaveFlag="1";
                                            @If(
                                            @PostedCommand([FileSave]);
                                            @PostedCommand([FileCloseWindow]);
                                            @SetField("SaveFlag";"0")+@Return("")
                                            )

läßt sich statt Formel auch mit script machen. Dann hätest du aber die Kontrolle. Hmm, bin nicht mehr der Fitteste heute. muss ih morgen mal testen.

eknori
Titel: Re:Ungeändertes Dokument speichern
Beitrag von: MisterDa am 31.07.03 - 07:52:43
Hi!
Ich hoffe ich versteh das jetz nicht falsch..aber wenn man deine Messagebox mit Ja beantwortet, kannst du doch ein Dokument.save ausführen, dann geht er ja in die QuerySave. Ich hab das schon ein paarmal mit Script gemacht, weis allerdings nicht, ob und wie das so mit Formeln hinhaut...

Gruß
MisterDa
Titel: Re:Ungeändertes Dokument speichern
Beitrag von: rar am 31.07.03 - 09:07:41
Erstmal Danke für die Tips. Aber...

Eknori:
Mit deiner Lösungsvariante, kann man trotzdem das Dok verlassen, wenn man keine Änerung gemacht hat. Es kommt die Abfrage ob man speichern will nicht. Wenn man eine Änderung vorgenommen hat und man die Abfrage mit Ja beantwortet, rennt Notes erst ins Querysave und dann kommt die Meldung, daß man das Dok über den Button verlassen soll. Dann brauch ich es aber nicht mehr, da das Querysave eh schon ausfeführt worden ist.

MisterDa:
Bei mir geht Notes mit nicht ins Querysave rein, wenn ich im QueryClose ein doc.Save aufruf :'(

Axel:
Das Refresh aufrufen geht leider auch nicht. Wenn ich im Dok f9 drücke bringt es das gewünschet Ergebnis. Nur ein refresh im Postopen ist ihm Wurscht.

lG
-rar
Titel: Re:Ungeändertes Dokument speichern
Beitrag von: klaussal am 31.07.03 - 09:11:10
ist die reihenfolge nicht : querysave und  dann queryclose ?
Titel: Re:Ungeändertes Dokument speichern
Beitrag von: rar am 31.07.03 - 09:16:38
Ja die Reihenfolge ist richtig. Wahrscheinlich klappts deswegen nicht.
Aber bei Esc ohne Änderung geht er eben nicht ins Querysave. Da ist das QueryClose das einzige Event das mir einfällt wo ich 'Hallo Speichern' reinschreiben kann.
Titel: Re:Ungeändertes Dokument speichern
Beitrag von: klaussal am 31.07.03 - 09:21:58
idee: im quersave schalter (in den globals) setzen = doc wurde geändert.
im queryclose schalter abfragen, wenn gesetzt --> continue = true, sonst msgbox und dann ja nach antwort -- > continue = false.

aber, wie gesagt, mal so auf die schnelle gedacht.
Titel: Re:Ungeändertes Dokument speichern
Beitrag von: rar am 31.07.03 - 10:57:33
So Ich habs jetzt geschafft. :D
Mit Eknoris Ansatz.
Also ein SaveFlag, ein SpeicherButton und ein NurRausButton.
Irgend wie hat jetzt geklappt was vorher nicht funktionierte.  ???
Danke euch allen.
lG
-rar
Titel: Re:Ungeändertes Dokument speichern
Beitrag von: koehlerbv am 31.07.03 - 13:02:40
Nur noch ein Hinweis: In QueryClose ein doc.Save führt natürlich nicht ins QuerySave - doc ist ja sicherlich Backend ... Und QueryClose findet im FrontEnd statt, also ein uidoc.Save.

Aber auch das hätte nicht zur Lösung des Problems beigetragen.