Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Sommersprosse am 12.08.08 - 15:02:16

Titel: Command File Save
Beitrag von: Sommersprosse am 12.08.08 - 15:02:16
Hallo zusammen,

ich in meinem Workflow habe ich einen Aktionsbutton "Submit". Über diese Aktion wird eine Mail inclusive Doclink verschickt. Gleichzeitig soll in meinem Dokument der Inhalt eines Status Feldes"Approved" verändert werden, und abschließend das Dokument speichern und schließen.

Das funktioniert soweit auch alles, aber er weigert sich mein Dokument abschließend ohne "Wollen sie die Änderungen speichern" zu schließen.

Code
@If(reqAprov1 !="";	
	@MailSend(reqAprov1;"";""; "Travel Request: "+reqReason;"A travel request was created ... ";"";[IncludeDoclink]);@Return("")
);
FIELD Approved:="Out";
@Command([FileSave]) ;@Command([FileCloseWindow]);

Ich habe den Code vom Prinzip auch noch in anderen Aktionen und da geht es.  ???
Wenn ich die Zeile
Code
FIELD Approved:="Out";

rausnehme, speichert er ohne Nachfrage.

Hat jemand von Euch eine Idee, was da faul ist??

Titel: Re: Command File Save
Beitrag von: koehlerbv am 12.08.08 - 15:06:39
Das ist vollkommen korrekt.

Du musst nach dem FileSave noch das Item "SaveOptions" mit "0" (String) belegen und dann erst FileCloseWindow absetzen.

Bernhard
Titel: Re: Command File Save
Beitrag von: Sommersprosse am 12.08.08 - 16:11:28
Du musst nach dem FileSave noch das Item "SaveOptions" mit "0" (String) belegen und dann erst FileCloseWindow absetzen.

Die Notes Hilfe sagt nichts dazu, ganz toll. Bei Jochen Knäpper hab ich's jetzt gefunden.
Code
FIELD Approved:="Out";

@Command([FileSave]);
FIELD saveOptions:="0";
@Command([FileCloseWindow])

speichert jetzt zwar mein Dokument, aber mein Status Feld wird nicht geändert.

Keine Ahnung warum...
Titel: Re: Command File Save
Beitrag von: koehlerbv am 12.08.08 - 16:20:29
@If (@Command ([FileSave]); @Do (....

Du musst dafür sorgen, dass der Code in der richtigen Reihenfolge abgehandelt wird.

Bernhard
Titel: Re: Command File Save
Beitrag von: Sommersprosse am 13.08.08 - 09:51:29
Guten morgen,

ich habe meinen Code jetzt mal so umgebaut.
Code
@If(@Command ([FileSave]);
		@Do(
			@SetField("Approved";"Out");
			@SetField("saveoptions";"0");
			@Command([FileCloseWindow])
	);
"")

Wahrscheinlich habe ich noch einen Denkfehler drin. Kann mam zwei SetField commandos in einen Do packen? Irgendwie habe ich dazu keine konkreten beispiele in irgendeinem Buch gefunden.

Nehme ich nur ein Setfield, macht er was ich will.
Ihr könnt mir betsimmt noch mal einen Tipp geben.

Danke.
Titel: Re: Command File Save
Beitrag von: m3 am 13.08.08 - 09:56:57
Aus der Designer-Hilfe:
Zitat
@Command( [FileCloseWindow] )
This command executes after all @functions. Use @Command([CloseWindow]) to execute immediately. See the Order of evaluation for formula statements topic for more details.

If the document or design element in that window has not been saved, Notes prompts the user to save it before closing.

Titel: Re: Command File Save
Beitrag von: Sommersprosse am 13.08.08 - 13:14:15
Aus der Designer-Hilfe:
Zitat
@Command( [FileCloseWindow] )
This command executes after all @functions. Use @Command([CloseWindow]) to execute immediately. See the Order of evaluation for formula statements topic for more details.

If the document or design element in that window has not been saved, Notes prompts the user to save it before closing.
  ??? ??? ???
Kann Dir nich folgen, was Du mir damit sagen willst.
Ich habe in einem der vielen Bücher genau so ein Beispiel gefunden in dem @Command( [FileCloseWindow] ) innerhalb eines @do verpackt war. Aus diesem Grund habe ich das auch so versucht. Hab's jetzt noch mal umgebaut und das ganze so gelöst.

Code
FIELD Approved:="Out";

@If(
	@Command([FileSave])&reqAprov1 !="";	
	@MailSend(reqAprov1;"";""; "Travel Request: "+reqReason;"A travel request was created ... ";"";[IncludeDoclink])&
	@SetField("saveoptions";"1");@Return("")
);

@If(
@Command([FileSave]) ;@Command([FileCloseWindow]);
@Return("")
)

Vielleicht war auch die saveoption falsch, habe immer eine "0" zurückgegeben anstatt eine 1.
So funktioniert es jetzt.
Titel: Re: Command File Save
Beitrag von: koehlerbv am 13.08.08 - 13:17:17
Mit SaveOptions = "1", dass Du zudem noch mitspeicherst, wird dieses Dokument nun aber immer gespeichert - ob der User will oder nicht.

Bernhard
Titel: Re: Command File Save
Beitrag von: klaussal am 13.08.08 - 13:17:19
Zitat
Kann Dir nicht folgen, was Du mir damit sagen willst.

Ist auch manchmal nicht ganz einfach..... :-X
Titel: Re: Command File Save
Beitrag von: m3 am 13.08.08 - 13:28:33
Zitat
Kann Dir nicht folgen, was Du mir damit sagen willst.

Ist auch manchmal nicht ganz einfach..... :-X
  :P
Titel: Re: Command File Save
Beitrag von: Sommersprosse am 13.08.08 - 13:33:51
Mit SaveOptions = "1", dass Du zudem noch mitspeicherst, wird dieses Dokument nun aber immer gespeichert - ob der User will oder nicht.


So soll es eigentlich auch sein, wenn ein User später auf submit klickt, soll das Dokument genau so auch gespeichert werden, wie es ist, außer ich bekomme von "oben" eine andere Anweisung.
Außerdem wird es noch einen Cancel Button geben, mit dem man gestellte Anträge canceln kann.

Zitat
Kann Dir nicht folgen, was Du mir damit sagen willst.

Ist auch manchmal nicht ganz einfach..... :-X
  :P
... dann bin ich ja beruhigt, hab schon an mir gezweifelt.
Titel: Re: Command File Save
Beitrag von: DAU-in am 13.08.08 - 13:36:25
Guten morgen,

ich habe meinen Code jetzt mal so umgebaut.
Code
@If(@Command ([FileSave]);
		@Do(
			@SetField("Approved";"Out");
			@SetField("saveoptions";"0");
			@Command([FileCloseWindow])
	);
"")

Wahrscheinlich habe ich noch einen Denkfehler drin. Kann mam zwei SetField commandos in einen Do packen? Irgendwie habe ich dazu keine konkreten beispiele in irgendeinem Buch gefunden.

Nehme ich nur ein Setfield, macht er was ich will.
Ihr könnt mir betsimmt noch mal einen Tipp geben.

Danke.


was soll das erste Setfield, wenn du mit dem zweiten sagst, dass nicht gespeichert werden soll?  :-:
Titel: Re: Command File Save
Beitrag von: DAU-in am 13.08.08 - 13:40:48
Mit SaveOptions = "1", dass Du zudem noch mitspeicherst, wird dieses Dokument nun aber immer gespeichert - ob der User will oder nicht.


So soll es eigentlich auch sein, wenn ein User später auf submit klickt, soll das Dokument genau so auch gespeichert werden, wie es ist, außer ich bekomme von "oben" eine andere Anweisung.
Außerdem wird es noch einen Cancel Button geben, mit dem man gestellte Anträge canceln kann.

Dann musst du beim Canceln aber das saveOptions Feld wieder umsetzen bzw. rausschmeissen, denn jetzt wird ja strikt immer gespeichert, ohne den User nochmals zu fragen

Titel: Re: Command File Save
Beitrag von: DAU-in am 13.08.08 - 13:59:32
Hallo zusammen,

ich in meinem Workflow habe ich einen Aktionsbutton "Submit". Über diese Aktion wird eine Mail inclusive Doclink verschickt. Gleichzeitig soll in meinem Dokument der Inhalt eines Status Feldes"Approved" verändert werden, und abschließend das Dokument speichern und schließen.

Das funktioniert soweit auch alles, aber er weigert sich mein Dokument abschließend ohne "Wollen sie die Änderungen speichern" zu schließen.

Code
@If(reqAprov1 !="";	
	@MailSend(reqAprov1;"";""; "Travel Request: "+reqReason;"A travel request was created ... ";"";[IncludeDoclink]);@Return("")
);
FIELD Approved:="Out";
@Command([FileSave]) ;@Command([FileCloseWindow]);

Ich habe den Code vom Prinzip auch noch in anderen Aktionen und da geht es.  ???
Wenn ich die Zeile
Code
FIELD Approved:="Out";

rausnehme, speichert er ohne Nachfrage.

Hat jemand von Euch eine Idee, was da faul ist??




@If(reqAprov1 !="";   
   @MailSend(reqAprov1;"";""; "Travel Request: "+reqReason;"A travel request was created ... ";"";[IncludeDoclink]);@Return("")
);
FIELD Approved:="Out";
@Command([FileSave]) ; 

@SetField("SaveOptions";"0");

@Command([FileCloseWindow]);


wie von Bernhard im ersten Posting beschrieben ...  ;D


gewünschte Werte speichern - SaveOptions setzen, um Abfrage zu unterdrücken - direkt schliessen und dadurch das Feld SaveOptions nicht speichern

grüsse

Dau-in

P.S.: ab welcher Version ist SaveOptions eigentlich als Zahl einzugeben?
Titel: Re: Command File Save
Beitrag von: koehlerbv am 13.08.08 - 14:11:43
Da war mal ein Bug. 6.5.4? Allerdings hat es bei mir da trotzdem mit String funktioniert, Andreas Glombitza berichtete anderes.

Die Doku spricht nur von String:
Zitat
To prevent the document from being saved, the document must contain a text field named SaveOptions with "0" as its value.

Interessant ist: Meine Anwendungen verwenden massiv SaveOptions = "0", und auch von 6.5.4-Usern kamen keine Klagen.

Bernhard
Titel: Re: Command File Save
Beitrag von: Sommersprosse am 13.08.08 - 16:21:38
Mal 'ne blöde Frage?

Das Feld SaveOptions sollte ich schon anlegen? In den Documenteigenschaften habe ich den Parameter schon gesehen, aber das Feld hat nicht existiert.

Ich habe es jetzt mal noch hinzugefügt und getestet, auch mit "SaveOptions"0".

Irgendwie werd' ich das Gefühl nicht los, das es jetzt besser funktioniert.

Wie lange habt Ihr eigentlich gebraucht um die Formelsprache so richtig intus zu haben? Die ganzen Befehle kann man sich doch gar nicht merken, oder???
Vorallem immer das richtige dann zu finden.... , was könnt Ihr denn als die beste Vorgehensweise empfehlen?

Titel: Re: Command File Save
Beitrag von: koehlerbv am 13.08.08 - 16:25:15
Wichtig ist das Item "SaveActions". Es ist vollkommen unnötig, dass dazu auch ein Feld existiert.

... was könnt Ihr denn als die beste Vorgehensweise empfehlen?

Als erstes würde ich mir derartige Aussagen aus dem Hirn verbannen. Programmierer dürfen so etwas weder sagen noch denken:
Irgendwie werd' ich das Gefühl nicht los, das es jetzt besser funktioniert.

Bernhard
Titel: Re: Command File Save
Beitrag von: klaussal am 13.08.08 - 16:26:11
Ich hab mir mal eine Know-How-DB angelegt. Da sind dann Code-Schnipsel, kleine Routinen, etc.  drinne, was man halt so braucht. Daneben noch einige Muster-DBs. Und den Rest muss man eben suchen, sei es hier oder in der Hilfe. Oder ein gutes Erinnerungsvermögen haben....  ;D
Titel: Re: Command File Save
Beitrag von: DAU-in am 13.08.08 - 16:27:04

Das Feld SaveOptions sollte ich schon anlegen? In den Documenteigenschaften habe ich den Parameter schon gesehen, aber das Feld hat nicht existiert.

Feld auf Maske != Item in Dokument



Ich habe es jetzt mal noch hinzugefügt und getestet, auch mit "SaveOptions"0".

Irgendwie werd' ich das Gefühl nicht los, das es jetzt besser funktioniert.

besser oder richtig?

Wie lange habt Ihr eigentlich gebraucht um die Formelsprache so richtig intus zu haben? Die ganzen Befehle kann man sich doch gar nicht merken, oder???
Vorallem immer das richtige dann zu finden.... , was könnt Ihr denn als die beste Vorgehensweise empfehlen?


sich passende Suchstrategien zurechtlegen

grüsse

Dau-in
Titel: Re: Command File Save
Beitrag von: Sommersprosse am 13.08.08 - 16:49:24
Wichtig ist das Item "SaveActions". Es ist vollkommen unnötig, dass dazu auch ein Feld existiert.

"Saveactions"  ??? ??? ??? Noch mal was neues?

Ich habe es jetzt mal noch hinzugefügt und getestet, auch mit "SaveOptions"0".

Ich habe mein Feld wieder entfernt, hätte ich mir eigentlich ja auch denken können...

besser oder richtig?

Streicht den Satz aus Eurem Gedächtnis, es funktionert richtig, so wie es soll.
Ich bin zumindest wieder mal einen kleinen Schritt weiter...

Werde Euch mit Sicherheit nicht das letzte Mal gefragt haben. ;D

Einen schönen Abend noch, geh jetzt nach Hause.

Titel: Re: Command File Save
Beitrag von: koehlerbv am 13.08.08 - 16:56:21
Sorry, SaveOptions natürlich. Das andere gibt es nicht (als System-Item).

Bernhard