@If(@Command([FileSave]); ...

  • Hallo!


    Ich möchte beim erfolgreichen Speichern eines Dokumentes zum Schluß noch einen Feldwert setzen.


    Meine @-Formel setzt dieses Feld aber nicht. Was habe ich übersehen???


    answer := @Prompt([YesNo];"Ticket wird abgeschickt";"Wenn Sie das Ticket jetzt abschicken, können Sie die Anforderung nicht mehr ändern." + @NewLine + "Sind Sie sicher?");
    @If(answer = 1;"";@Return(""));
    FIELD SaveOptions := 1;
    Field T_ab := T_ab;
    @If(@Command([FileSave]);@Do(@SetField("T_ab";1); @Command([FileCloseWindow]));"")

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

    • Offizieller Beitrag

    Warum baust Du dies nicht einfach ins PostSave rein?


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • Hi Dirk!


    Weil die Aktion an einem bestimmten Button hängt...

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Gutes Argument, taurec!


    Also anstelle:
    @If(@Command([FileSave]);@Do(@SetField("T_ab";1); @Command([FileCloseWindow]));"")


    lieber:
    @If(@Command([FileSave]);@Do(@SetField("T_ab";1); @Command([FileSave]); @Command([FileCloseWindow]));"")


    ???

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • taurec: Da bist du im Irrtum! Die Zahl ist durchaus ok.


    answer := @Prompt([YesNo];"Ticket wird abgeschickt";"Wenn Sie das Ticket jetzt abschicken, können Sie die Anforderung nicht mehr ändern." + @NewLine + "Sind Sie sicher?");
    @If(answer = 1;"";@Return(""));
    SaveOptions := 1;
    FIELD T_ab := T_ab;
    @If(@Command([FileSave]);@Do(@SetField("T_ab";1); @Command([FileSave]); @Command([FileCloseWindow]));"")

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • ... allerdings muß es immer wohl ein feld sein....


    answer := @Prompt([YesNo];"Ticket wird abgeschickt";"Wenn Sie das Ticket jetzt abschicken, können Sie die Anforderung nicht mehr ändern." + @NewLine + "Sind Sie sicher?");
    @If(answer = 1;"";@Return(""));
    FIELD SaveOptions := 1;
    FIELD T_ab := T_ab;
    @If(@Command([FileSave]);@Do(@SetField("T_ab";1); @Command([FileSave]); @Command([FileCloseWindow]));"")



    Ergänzung: Das Feld SaveOptions führt wohl auch lediglich dazu, daß die Frage "Möchten Sie ihre Änderungen speichern?" nicht aufplöppt.

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Hallo,


    folgendes:


    Zitat

    Ergänzung: Das Feld SaveOptions führt wohl auch lediglich dazu, daß die Frage "Möchten Sie ihre Änderungen speichern?" nicht aufplöppt.


    Im Endeffeckt führt es dazu. Aber man sollte auch wissen, warum! Wenn SaveOptions auf null gesetzt wird, dann wird auch nicht gespeichert. Das ist dann so als ob man beim "möchten Sie speichern?" "Nein" wählt.


    Wenn SaveOptions auf eins gesetzt wird, dann passiert im Grunde nichts anderes als sonst auch, da eins der Defaultwert von SaveOptions ist. Also kannst du dir das setzen des Feldes auch sparen, wenn du es nicht an anderer Stelle auf null gesetzt hast.

    • Offizieller Beitrag

    Wenn das Feld SaveOptions auf "0" steht, dann wird es nicht gespeichert. Damit dürfte "0" nie in dem Dokument stehen, außer ein Agent hat es in das Dokument geschrieben.


    Nebeneffekte gibt es, wenn das Feld leer ist, dann reagieren die Notesversionen unterschiedlich.


    Daher gibt es das Feld bei mir nicht mehr im Dokument sondern nur noch in der Maske als "berechnet zur Anzeige" oder berechnet und dann immer mit dem Inhalt "0" (Dokument wird nie gespeichert).


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • SaveOptions = Integer funktioniert in manchen, aber nicht allen Notes-Versionen. Siehe dazu auch die DesignerHelp und die KBase.


    Ausserdem ist es nicht richtig, dass 'SaveOptions = "0" lediglich dazu führt, dass der Save-Dialog nicht mehr aufpoppt'. Das führt dazu, dass niemals mehr gespeichert wird - der Save-Dialog wird dadurch obsolet.


    Ich würde solche Spielereien nicht machen, wenn ich da noch so unsicher bin und sowohl die Doku als auch die Profis im Forum etwas anderes sagen.


    Bernhard

  • @alle: Nun hab ich die Befehle wieder so wie folgt angepaßt.


    answer := @Prompt([YesNo];"Ticket wird abgeschickt";"Wenn Sie das Ticket jetzt abschicken, können Sie die Anforderung nicht mehr ändern." + @NewLine + "Sind Sie sicher?");
    @If(answer = 1;"";@Return(""));
    FIELD SaveOptions := "1";
    FIELD T_ab := T_ab;
    @If(@Command([FileSave]);@Do(@SetField("T_ab";1); @Command([FileSave]); @Command([FileCloseWindow]));"")


    Nur fragt mich Notes danach immernoch, ob ich meine Änderungen speichern möchte...


    Bei FIELD SaveOptions := 1; machte er es nicht...


    Jetzt seid Ihr dran!!

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Versuch es doch mal hiermit:



    Da du in dem 6 Forum gepostet hast, gehe ich davon aus, dass du auch eine Notes Version >=6. In dem Fall brauchst du FIELD T_ab := T_ab; garnicht mehr. Das benötigst du nur in Versionen <6.


    Das Mit dem FIELD SaveOptions := "1"; würde ich auch ganz raus nehmen. Wenn du es nirgends auf "0" gestzt hast, ist es auch überflüssig, da es standartmässig sowieso auf "1" steht.


    Und noch eine Frage:


    Hast du in irgendeinem Event, welches nach dem Speichern ausgeführt wird einen Code stehen? Z.B. im Postsave oder im Queryclose?

  • Angerfist:


    SaveOptions ist nirgendwo standardmäßig auf "1" gesetzt.
    Mit deiner Formel bekomme ich dann also wieder die altbewährte Abfrage.
    Und außerdem nimmt Notes mir ja den String offensichtlich nicht ab sondern nur den Integer.


    Ansonsten habe ich noch ein Script im Querysave-Event, der noch zwei Felder berechnet.


    Ergänzung: ... und ein paar Felder werden per Eingabevalidierung getestet, ob was eingetragen ist. Dafür brauche ich ja eben die Geschichte mit dem @if(@Command[FileSave])...


    So, wie hier jetzt angegeben, funktioniert es:


    answer := @Prompt([YesNo];"Ticket wird abgeschickt";"Wenn Sie das Ticket jetzt abschicken, können Sie die Anforderung nicht mehr ändern." + @NewLine + "Sind Sie sicher?");


    @If(answer = 1;"";@Return(""));


    FIELD SaveOptions := 1;


    @If(@Command([FileSave]);
    @Do(
    @SetField("T_ab";1);
    @Command([FileSave]);
    @Command([FileCloseWindow]));
    "")

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Problem gelöst!


    Allerdings nochmal der Hinweis an alle:


    Field SaveOptions := 1



    Vielleicht hat ja auch mal die Notes-Hilfe einen Fehler...
    Wäre nicht das erste Mal ;)

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)

  • Ich vermute eher einen Bug oder zumindest eine sehr liberale Haltung deines Clients dem Feldtyp gegenüber.
    Beim deutschen 6.5.4, dem englischen 7.0.2 und dem ebenfalls englischen 8.0.1 klappt das nur wie erwartet, wenn es ein Textfeld ist.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Hmmm!


    Ich habe deutschen 6.5.6.

    LG Lotusfee
    Domino 9.0.1/ Notes 8.5.2 :-o


    "Wenn man keine Ahnung hat, einfach mal Fresse halten" (Dieter Nuhr)
    ... oder Jemand fragen, der sich mit sowas auskennt. (Gelbe Seiten)