Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: reraru am 10.09.04 - 15:47:22

Titel: Status setzen?!
Beitrag von: reraru am 10.09.04 - 15:47:22
Hi zusammen!

Ich habe ein Problem das mich in den Wahnsinn treibt!:

1. In einer Maske wird ein Handwerksauftrag erfasst.
2. Über die Aktion "Speichern" / @Command([FileSave]) wird gespeichert! ;-)
3. Nach dem Speichern soll über die Aktion "Versenden" eine Email mit einem
    Link zum erfassten Dokument an verschiedene Empfänger versendet werden.
    Zusätzlich soll ein Feld "versandt" auf "1" gesetzt werden.
 
Hier mein Code zur Aktion "Versenden":

Code
adr_remark:= "Ein neuer Auftrag wurde im System erfasst! Bitte prüfen Sie den Status! " + @NewLine + @NewLine +
   "Doppelklicken Sie auf folgendes Symbol um zum Auftrag zu gelangen:" + @NewLine;


@If(versandt = "0" & status = "1";
@Do(
@Command([EditDocument];1);
@SetField("SendenAn"; @DbLookup("":"";"";"Abteilungen";Abteilung;2));
@SetField("Thema";"Handwerksarbeiten | Neuer Auftrag:" + @Text(AuftragsNummer));
@MailSend(SendenAn; KopieAn; BlindKopie; Thema; adr_remark; ""; [IncludeDoclink]);
@SetField("versandt";"1");
@Command([FileSave]);
@Command([EditDocument];0);
@Command([FileSave])
)
;"")

Das Problem ist das einfach dieses verdammte Feld "versandt" nicht mit "1" gefüllt wird!!!
Habe jetzt schon 1000 verschiedene Varianten durchgespielt!!!

Ich bin am verzweifeln!!! :'( :'(

Kann mir jemand sagen was ich falsch mache???  ???

Vielen Dank und ein schönes Wochenende im Voraus wünscht:

René 8)
Titel: Re:Status setzen?!
Beitrag von: Glombi am 10.09.04 - 16:01:04
Wird denn überhaupt ein Mail gesendet? Falls es dort einen Fehler gibt (wenn bspw. keine Vorgabeansicht da ist), bricht der Code ab.
Titel: Mail
Beitrag von: reraru am 10.09.04 - 16:05:58
Hi Glombi!

Ja! Eine Mail wird versendet! Danach kommt die Meldung:

"Angegebener Befehl kann nicht ausgeführt werden!"

Das würde dann wohl das einer der letzten Befehle Ärger macht:

Code
@SetField("versandt";"1");
@Command([FileSave]);
@Command([EditDocument];"0");
@Command([FileSave])

MMh??

Ideen???
Titel: Re:Status setzen?!
Beitrag von: Glombi am 10.09.04 - 16:09:03
@Command([EditDocument];0);
@Command([FileSave])
Das kann ja wohl nicht gehen: Ein Dokument im Lesemodus kann nicht gespeichert werden.

Also das letzte Save weglassen.

Andreas
Titel: Fehlermeldung weg, aber...
Beitrag von: reraru am 10.09.04 - 16:23:08
Die Fehlermeldung ist weg! Blöder Fehler!

Es wird dennoch nicht das Feld "versandt" gefüllt!

Ich sehe es doch richtig, das man beinem Dokument welches sich im Lesemodus
befindet erst wieder in den Editierungsmodus versetzen muss um dann ein
Feld zu füllen, oder?

@Command([EditDocument];1);
"FELD FÜLLEN"
@Command([EditDocument];0);


Dasd beste ist aber folgendes:

Wenn ich die Mail erhalten habe und das Dokument noch einmal öffne,
dann kann ich es ja erneut versenden. Mache ich das, dann werde ich gefragt
ob ich speichern möchte!

Sage ich ja, dann wird das Feld "versandt" gefüllt!

??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ???
Titel: Re:Status setzen?!
Beitrag von: Glombi am 10.09.04 - 16:31:19
Das liegt wohl an der "tollen" Formelsprache und der Ausführungsreihenfolge oder was weiß ich. Kannst Du das nicht mit Script machen, da weiß man wenigstens, wann was ausgeführt wird.

Oder vertausche mal die Zeilen:
Statt
MailSend(SendenAn; KopieAn; BlindKopie; Thema; adr_remark; ""; [IncludeDoclink]);
@SetField("versandt";"1");

dann
@SetField("versandt";"1");
MailSend(SendenAn; KopieAn; BlindKopie; Thema; adr_remark; ""; [IncludeDoclink]);

denn offenbar werden die anderen Felder SendenAn etc. richtig gesetzt.

Andreas

Nachtrag: In R5 und vorherigen Versionen musste man immer erst eine FIELD ABC := ABC; Anweisung machen, damit @SetField funktioniert. Evtl. solltest Du das auch mal probieren.
Titel: Re:Status setzen?!
Beitrag von: reraru am 10.09.04 - 16:49:21
Habe auch das probiert! Leider ohne Erfolg!
(auch die Zuweisung per FIELD versandt:= ;

Vielleicht sollte ich mal so etwas mit Lotus Script versuchen.

Habe aber noch keinen blassen Schimmer wie ich anfangen muss!

Ich danke Dir trotzdem für Deine Hilfe!!!

Schönes Wochenende!

Gruß René
Titel: Re:Status setzen?!
Beitrag von: Glombi am 10.09.04 - 16:55:57
Ersetze mal
Command([EditDocument];1);
durch
Command([EditDocument];"1");

irgendwie denke ich, Du bist im Lesemodus und es muss "1" und nicht 1 heissen !!!

Dann unten
Command([EditDocument];"0");


Andreas
Titel: OK OK
Beitrag von: reraru am 10.09.04 - 17:33:26
OKOK!

Das klappt soweit!

Wenn ich jetzt noch die Meldung "Möchten Sie Ihre Änderung speichern?"
wegbekommen könnte!!! ;-) ;-)

Dann hätte ich vermutlich ein tolles Wochenende!

Danke! René
Titel: Re:Status setzen?!
Beitrag von: Glombi am 10.09.04 - 17:40:06
Wann kommt die Meldung? In dieser Aktion? Da ist doch gar kein @Command([FileCloseWindow])?

Du kannst noch
@PostedCommand([FileSave]);
@PostedCommand([EditDocument];"0");

oder
@PostedCommand([FileSave]);
@SetField("SaveOptions";"0");
@PostedCommand([EditDocument];"0");

versuchen. Es ist eben manchmal mühselig mit Formelsprache.

Andreas
Titel: @SetField("SaveOptions";"0");
Beitrag von: reraru am 10.09.04 - 17:49:28
Ich habe einfach das:

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

eingebaut:

Code
;

@If(versandt = "0" & status = "1";
@Do(
@Command([EditDocument];"1");
@SetField("SendenAn"; @DbLookup("":"";"";"Abteilungen";Abteilung;2));
@SetField("Thema";"Handwerksarbeiten | Neuer Auftrag:" + @Text(AuftragsNummer));
@SetField("versandt";"1");
@MailSend(SendenAn; KopieAn; BlindKopie; Thema; adr_remark; ""; [IncludeDoclink]);
@Command([FileSave]);
@SetField("SaveOptions";"0");
@Command([EditDocument];"0")
)
;"")

Jetzt klappt et wie gewünscht!!!  :P

JUHU!!!

DANKE DANKE DANKE!