Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Silke am 19.06.05 - 20:41:22

Titel: Vor'm Speichern Feld setzten
Beitrag von: Silke am 19.06.05 - 20:41:22

@If(@IsNewDoc; @Command([FileSave]); @Command([FileSaveNewVersion]));
@Command([CloseWindow])


Funktioniert wunderbar  nun möchte ich aber das in der alten Version oder auch in der neuen ist wurscht  das feld age auf entweder OLD oder NEW gesetzt wird.
Hatte an @setfield(age; "NEW") gedacht aber wie baue ich das ind die @if-verschachtelung ein. Hatte an variablen gedacht mit @Set( variableName ; value )   aber auch das will nicht recht klappen.

 :-:  Silke
Titel: Re: Vor'm Speichern Feld setzten
Beitrag von: TMC am 19.06.05 - 21:14:21
Bin mir nicht ganz sicher was Du willst.  :-:

Ist es das?

_HasDocBeingSaved := @If(
    @IsNewDoc;
        @Do(
           @SetField("age"; "NEW");
           @PostedCommand([FileSave])
        );
      @Command([FileSaveNewVersion])
);

REM "Nur Dokument schließen, wenn es auch gespeichert wurde. Vermeidet Konflikte mit der Eingabevalidierung...";
@If(
   _HasDocBeingSaved = @True;
      @PostedCommand([FileCloseWindow]);
   ""
)
Titel: Re: Vor'm Speichern Feld setzten
Beitrag von: Silke am 19.06.05 - 22:10:24
Eher so:

FIELD age:= age;
@If(@IsNewDoc; @Command([FileSave]); @Do(@SetField( "age" ; "NEW" );@Command([FileSaveNewVersion])));
@Command([CloseWindow])


aber er schreibt das NEW nicht ins Feld ansonsten klappt es wunderbar.

 :-:
Titel: Re: Vor'm Speichern Feld setzten
Beitrag von: koehlerbv am 19.06.05 - 23:21:16
Hallo Silke,

ich bin mir nicht ganz klar, was Du wirklich willst. Vielleicht kannst Du der Einfachheit halber Dein Ziel noch einmal kurz beschreiben: Wozu brauchst Du ein Item mit dem Inhalt OLD oder NEW ?

Ich tippe mal: Du willst wissen, was das "aktuelle" und was das "Versionsdokument" ist. Nun, ich habe das schon mal geschrieben: Das bekommst Du damit heraus, indem Du das Item $Ref prüfst. Das als Version gespeicherte Dokument hat $Ref, das andere nicht. Ich möchte auch nochmals erwähnen, dass das als Information für bestimmte Operationen noch nicht ausreicht - ich kenne Deine Applikation nicht.

Wenn Du - wie in den bisherigen Code-Versuchen von Dir und Matthias beschrieben - das Speichern, das Setzen von "NEW" und das FileSaveNewVersion in einer Routine abarbeitest, würde auch das Versionsdokument immer ein Item mit dem Inhalt NEW enthalten. Ich befürchte, Du kommst in solchen Fällen um eine Lösung in LS nicht herum.

Bevor Du das jetzt aber in LS versuchst, bitte beantworte meine Eingangsfrage. Ich denke, dort liegt der Ansatz für die (vermutlich einfache) Lösung).

Good luck,
Bernhard
Titel: Re: Vor'm Speichern Feld setzten
Beitrag von: Silke am 20.06.05 - 07:56:33

Also es gibt ein sog. Beratungsbogen der soll bei jedem Beratungstermin aktualisiert werden. Dann soll der "alte" Beratungsbogen durch den "neuen" ersetzt werden und der alte über einen Agenten archiviert werden.
$Ref geht meines Erachtens nicht da ja auch zb Adressdaten geändert werden können und dann soll es ja nicht archiviert werden.
Deshalb möchte ich bei Änderung des Beratungstermins eine neue Version haben.

Ich frickel im Moment noch an Einzelelementen dieser Lösung, da ich mich nach 3 Jahren Abstinenz wieder etwas an Notes (Entwicklung) rantasten muss.
 ::)
Titel: Re: Vor'm Speichern Feld setzten
Beitrag von: Silke am 21.06.05 - 13:54:10


erledigt 8)