Domino 9 und frühere Versionen > Entwicklung
Aktion funktioniert nicht..
feel_x:
und ich weiß partout nicht, warum sie nicht will.
Feld ist zugewiesen,
Sendinfomail1 und Sendinfomail2 auch..
ich benutze @Do, weil sich @commands nicht per "&" verknüpfen lassen.
wenn ich die Aktion ausführe, bekomme ich die Meldung:
"Ein anderer Benutzer hat das Dokument zur selben Zeit geöffnet.."
An weiteren Maskenskripten kann es nicht liegen, da ist nichts mehr drin..
Hat jemand eine Idee?
:-\
@If((Datum_von-@Today)>=0;
@Do(@SetField("Endstatus";"4");@Prompt ([OK];"OK";"Stornierung erfolgreich. Der Teilnehmer, dessen Anmeldung storniert wurde, wird in Kürze eine Stornobestätigung per eMail bekommen."); sendinfomail2; sendinfomail2; @Command([FileSave]); @Command([FileCloseWindow]));
@Do(@SetField("Endstatus";"7");@Prompt ([OK];"OK";"Stornierung erfolgreich. Der Teilnehmer, dessen Anmeldung storniert wurde, wird in Kürze eine Stornobestätigung per eMail bekommen.");
sendinfomail1; sendinfomail2; @Command([FileSave]); @Command([FileCloseWindow])))
ata:
... wenn du mit @SetField arbeitest, musst du zuvor die Felder initialisieren...
Field FeldName1 := Feldname1;
... erst dann lässt sich @SetField problemlos nutzen...
... ansonsten muss ich mir deine Formel erst mal aufdröseln, so lässt sie sich nicht gut lesen und verstehen...
ata
ata:
... ich habe mir deinen Code strukturiert...
--- Code: ---_meldung1 := "Stornierung erfolgreich. Der Teilnehmer, dessen Anmeldung storniert wurde, wird in Kürze eine Stornobestätigung per eMail bekommen.";
_meldung2 := "Stornierung erfolgreich. Der Teilnehmer, dessen Anmeldung storniert wurde, wird in Kürze eine Stornobestätigung per eMail bekommen.";
FIELD Endstatus := Endstatus;
@If(
(Datum_von - @Today)>=0;
@Do(@SetField("Endstatus";"4");
@Prompt ([OK];"OK";_meldung1);
sendinfomail2;
sendinfomail2;
@Command([FileSave]);
@Command([FileCloseWindow])
);
@Do(@SetField("Endstatus";"7");
@Prompt ([OK];"OK";_meldung2);
sendinfomail1;
sendinfomail2;
@Command([FileSave]);
@Command([FileCloseWindow])
)
)
--- Ende Code ---
... was bezweckst du mit den Zeilen sendinfomail1 und sendinfomail2?
... machen 2 gleiche Meldungen hier Sinn?
... der einzigste Unterschied in der Verzweigung ist die Zuweisung des Feldes...
... die Meldung, die du erhälst, kann ich diesem Code nicht zuordnen, die deutet ihrer Aussage nach auf etwas ganz anderes hin - hast du so etwas wie ein Doc-Locking eingebaut, und es liegt noch ein Sperrdokument vor - gibt es etwas im QuerySave der Maske oder einer Teilmaske?
... der Code in deinem Beispiel lässt sich auch ohne @SetField umsetzen
--- Code: ---_meldung := "Stornierung erfolgreich. Der Teilnehmer, dessen Anmeldung storniert wurde, wird in Kürze eine Stornobestätigung per eMail bekommen.";
FIELD EndStatus := @If((Datum_von - @Today)>=0; "4" ; "7" );
@Prompt([OK];"OK";_meldung) ;
@Command([FileSave]);
@Command([FileCloseWindow])
--- Ende Code ---
... entspricht deinem Code ohne @SetField...
ata
feel_x:
--- Zitat von: ata am 11.06.03 - 21:56:27 ---
... was bezweckst du mit den Zeilen sendinfomail1 und sendinfomail2?
... machen 2 gleiche Meldungen hier Sinn?
... der einzigste Unterschied in der Verzweigung ist die Zuweisung des Feldes...
... die Meldung, die du erhälst, kann ich diesem Code nicht zuordnen, die deutet ihrer Aussage nach auf etwas ganz anderes hin - hast du so etwas wie ein Doc-Locking eingebaut, und es liegt noch ein Sperrdokument vor - gibt es etwas im QuerySave der Maske oder einer Teilmaske?
... der Code in deinem Beispiel lässt sich auch ohne @SetField umsetzen
--- Code: ---_meldung := "Stornierung erfolgreich. Der Teilnehmer, dessen Anmeldung storniert wurde, wird in Kürze eine Stornobestätigung per eMail bekommen.";
FIELD EndStatus := @If((Datum_von - @Today)>=0; "4" ; "7" );
@Prompt([OK];"OK";_meldung) ;
@Command([FileSave]);
@Command([FileCloseWindow])
--- Ende Code ---
... entspricht deinem Code ohne @SetField...
ata
--- Ende Zitat ---
sendinfomail1 und sendinfomail2 sind definiert:
sendinfomail1:=
@MailSend(AnmeldungErsteller;"";"";"Stornierung der Seminar-Anmeldung zu \'"+(Seminartitel)+" durch die DB-Manager";"";
"Guten Tag, "+@Name([CN];AnmeldungErsteller)+@NewLine+
"Ihre Anmeldung zum Seminar \'"+(Seminartitel)+"\' wurde durch die Datenbankmanager storniert."+@NewLine+
"für weitere Informationen kontaktieren Sie bitte Ihren Prof oder die Datenbankmanager."
+@NewLine+
"Wir danken Ihnen für die Nutzung der Seminarverwaltung."
+@NewLine ; "");
und Sendinfomail2 eine andere mail.
zwei gleiche Meldungen machen hier keinen Sinn, das stimmt,
so wie Du's machst, schaut das viel einfacher aus..
Nein, kein Querysave, nur ein Postsave, das ändert aber nur Felder im $Ref-Dokument.
FIELD geplantePlaetze:="geplantePlaetze";
FIELD gebuchtePlaetze:="gebuchtePlaetze";
geplant:= @DbLookup("":"NoCache";"":"";"(ListeAnmeldestatusGeplant)";DokumentID;1);
anzahlgeplant:= @If(@IsError(geplant);0;@Elements(geplant));
@SetDocField($Ref;"geplantePlaetze";anzahlgeplant);
gebucht:= @DbLookup("":"NoCache";"":"";"(ListeAnmeldestatusGebucht)";DokumentID;1);
anzahlgebucht:= @If(@IsError(gebucht);0;@Elements(gebucht));
@SetDocField($Ref;"gebuchtePlaetze";anzahlgebucht);
ich teste mal Deine Formel :)
Danke für den Tipp.
wieso sollte man eine Feldzuweisung verwenden und nicht @SetField?
felix
harkpabst_meliantrop:
Hmmm, sendinfomail1, sendinfomail2?
Selbstdefinierte Funktionen in @Formelsprache? Hab ich was verpasst??
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln