Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Tobi2283 am 10.06.06 - 16:28:59

Titel: beim speichern ein berechnetes feld ändern
Beitrag von: Tobi2283 am 10.06.06 - 16:28:59
hallo zusammen,

und schon komm ich mit meinem nächsten problem  ???
habe in einem antwortdokument ein berechnetes feld erstellt, welches status heißt. bei der neuanlage des antwort-dokument wird der wert "laufend" eingestellt [Formel: @If(@IsNewDoc; "laufend"; Status)]
klappt an sich einwandfrei.
Nunmehr möchte ich mittels einer schaltfläche, durch die ich das Antwortdokument erledigen kann, folgende Schritte ausführen lassen:
@Command(EditDocument)
FIELD Status := "erledigt"
@command(FileSave)
@Command(FileCloseWindows)

nach dem drücken der Schaltfläche passiert auch alles, nur ich werde vor dem schließen des dokument gefragt, ob ich speichern will

kennt hier jemand einen rat?!?
Titel: Re: beim speichern ein berechnetes feld ändern
Beitrag von: LN4ever am 10.06.06 - 18:52:20
Mach das Feld vom Typ BERECHNET BEIM ANLEGEN und gib als Formel "laufend" ein.

Falls es bereits Antwortdokumente (noch ohne das Feld Status) gibt, würde diese Formel bei der nächsten Editierung "laufend" eintragen. Wenn das OK ist, dann ist es gut, sonst muß die Formel lauten
@If(@IsNewdoc;"laufend"; <Altdokumentaktion>).

Die Abfrage nach dem "Wollen Sie speichern" bekommst du weg, indem du in den Button noch ein

FIELD SaveOptions:="1" einbaust.

Aber Vorsicht. Dieses Feld sorgt dafür, daß bei JEDEM Verlassen mit Escape alle Änderungen ohne Nachfrage gespeichert werden. Daher gilt normalerweise: wenn du in Buttons das Feld setzst, mußt du es im QUERYOPEN bei nicht neuen Dokumenten entfernen.
Titel: Re: beim speichern ein berechnetes feld ändern
Beitrag von: Tobi2283 am 12.06.06 - 09:27:40
das mit dem <FIELD SaveOptions:="1"> klappt bei mir nicht, ober hab ich das irgendwie falsch in meinen button eingebaut.
hab es gleich nach dem @Command(EditDocument) gesetzt

und nur nochmal zum verständnis, dass mit dem queryopen, da schreib ich dann schon "FIELD SaveOptions := @DeleteField" oder ?!?
Titel: Re: beim speichern ein berechnetes feld ändern
Beitrag von: Lossa am 12.06.06 - 09:31:13
Hallo,

ändere deine Formel wie folgt:
@Command(EditDocument)
FIELD Status := "erledigt";
@command(FileSave);
FIELD SaveOptions:="0";
@Command(FileCloseWindows)
Titel: Re: beim speichern ein berechnetes feld ändern
Beitrag von: Tobi2283 am 12.06.06 - 13:13:29

und nur nochmal zum verständnis, dass mit dem queryopen, da schreib ich dann schon "FIELD SaveOptions := @DeleteField" oder ?!?


die oben stehende formel im queryopen ist schon richtig, dass das feld beim nächsten öffnen wieder auf standard ist, oder?!?
Titel: Re: beim speichern ein berechnetes feld ändern
Beitrag von: LN4ever am 12.06.06 - 13:23:02
Bei dem Vorschlag von Lossa (um Klassen besser als meine erster Vorschlag) brauchst du das Feld SaveOptions nicht weiter zu berücksichtigen. Es wird nur nach der Speicherung des Dokuments mit @Command([FileSave]) in das Frontend augenommen, um eine Abfrage beim @Command([FileCloseWindow]) zu unterdrücken. Beim Schließen des Fensters wirst du nicht gefragt, aber es wird auch nichts mehr gespeichert. Daher ist das Feld SaveOptions später auch nicht im Dokument vorhanden.