Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: samity am 19.02.08 - 15:27:08

Titel: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: samity am 19.02.08 - 15:27:08
Hallo,

Ich habe einen Agent gebastelt, der bei Überschreitung eines Termins eine Erinnerung verschicken soll:

SELECT WV < @Today; @MailSend(SendTo;"";"";_Subject :="Erinnerung Wiedervorlage";_Text := "Bitte diesem Link zu den unerledigten Wiedervorlagen folgen!";"";[IncludeDoclink])

WV ist hier: „@Adjust(@Today; 0; 0; +14; 0; 0; 0)“

Bei Ausführung des Agents wird dieser Fehler angezeigt: „Fehler in Formel: Für Vergleichsoperatoren müssen zwei Werte desselben Datentyps angegeben werden.“

Fällt jemandem was dazu ein?

Ist es eigentlich möglich auch auf eine Ansicht zu verlinken?

Vielen Dank schon mal.
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: botschi am 19.02.08 - 15:31:13
Probier das mal:
@Adjust(@Today; 0; 0; 14; 0; 0; 0)

Matthias
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: koehlerbv am 19.02.08 - 15:35:52
Zwei Anmerkungen:
Wenn alles syntaktisch korrgiert wurde, ist die Auswahlbedingung Blödsinn, da WV immer 14 Tage vor @Today liegt. Der Agent wird also nicht viel Prozessorlast ziehen  ;D

Weiters: Warum steht @Adjust in nführungszeichen?

Dirk: Das "+" stört nicht.

Und: Per @Mailsend kann man nicht auf Ansichten verlinken.

Bernhard
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: botschi am 19.02.08 - 15:38:43
Dirk: Das "+" stört nicht.

Bin darauf gekommen, weil diese Meldung "Fehler in Formel: Für Vergleichsoperatoren müssen zwei Werte desselben Datentyps angegeben werden." ja fast der Klassiker unter den Fehlern bei Addition ist...

Dachte ich jedenfalls...

Matthias
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: koehlerbv am 19.02.08 - 15:41:33
Naja, hier geht aber keinesfalls um Addition, sondern um das Vorzeichen.

Bernhard
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: samity am 19.02.08 - 15:46:24
Na also, bin zwar Anfänger, aber das mit der WV hat geklappt. Der Wert wurde korrekt ausgegeben - ob mit oder ohne +. Und der Wert wird an @Today gemessen.

Das Adjust steht nur in Anführungszeichen, weil ich die Formel abheben wollte.
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: botschi am 19.02.08 - 15:48:21
So weit habe ich das auch erkannt. Vielleicht denkt Notes ja, es soll addieren, kann es nicht und gibt ne Meldung aus. Das mein ich  ::)

Matthias
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: koehlerbv am 19.02.08 - 15:55:18
Jetzt erkläre mir aber bitte den Sinn dieser Formel, die Du uns da genannt hast:

SELECT @Adjust(@Today; 0; 0; +14; 0; 0; 0) < @Today

Wann sollte der Term jemals True ergeben?? Heute in 14 Tagen ist niemals kleiner als Heute.

Bernhard
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: samity am 20.02.08 - 10:57:10
Hm, vielleicht habe ich mich fehlerhaft ausgedrückt. Ich habe eine Maske in der ich einen Wiedervorlage termin mit der genannten Formel erzeuge. In den mit der Maske erstellten Dokumenten soll der Agent dann suchen. In den Dokumenten passt sich der Termin doch nicht mehr an.

Mache ich einen Denkfehler? ???
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: koehlerbv am 20.02.08 - 11:48:17
Das hast Du Dich wirklich missverständlich ausgedrückt.

Ich nehme an, Du es Dokumente gibt, in denen WV nicht belegt wurde. Dann kommt natürlich die angegebene Fehlermeldung.
Datumswerte müssen vor Verwendung immer überprüft werden, daher

SELECT (@IsTime (WV) & (WV < @Today); @MailSend (...

HTH,
Bernhard
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: samity am 20.02.08 - 14:42:08
Deine Formel eingebaut. Ergebnis:

Argumente werden an eine Nicht-@Funktion übergeben oder an eine @Funktion, die keine Argumente benötigt.  :-:
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: koehlerbv am 20.02.08 - 14:46:04
Dann solltest Du die fehlende Klammer einsetzen ...
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: samity am 20.02.08 - 14:54:20
Okay, wo?

SELECT (@IsTime (WV) & (WV < @Today); MailSend (SendTo;"";"";_Subject :="Erinnerung Wiedervorlage";_Text := "Bitte diesem Link zu den unerledigten Wiedervorlagen folgen!";"";[IncludeDoclink])
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: m3 am 20.02.08 - 14:58:48
Code
SELECT (
		@IsTime (WV) & (WV < @Today); 
		MailSend (
				SendTo;"";"";_Subject :="Erinnerung Wiedervorlage";
					_Text := "Bitte diesem Link zu den unerledigten Wiedervorlagen folgen!";
					"";[IncludeDoclink]
			 )
	<- HIER FEHLT WAS
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: samity am 20.02.08 - 15:21:07
 Ähm, kann man das "hier" etwas konkretisieren?
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: m3 am 20.02.08 - 15:23:34
Ich wähle die Kategrorie "Programmieren" für 100 Euro.

Die Antwort lautet: "Was man öffnet, muss man auch schließen".

Die Frage lautet: __________________________
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: botschi am 20.02.08 - 15:29:35
Ich wähle die Kategrorie "Programmieren" für 100 Euro.

Die Antwort lautet: "Was man öffnet, muss man auch schließen".

Die Frage lautet: __________________________


Lautet die Frage: "Was muss man schließen?" ?  ;D

Matthias
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: klaussal am 20.02.08 - 15:31:34
)
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: m3 am 20.02.08 - 15:46:57
Ich wähle die Kategrorie "Programmieren" für 100 Euro.

Die Antwort lautet: "Was man öffnet, muss man auch schließen".

Die Frage lautet: __________________________


Lautet die Frage: "Was muss man schließen?" ?  ;D
Leider nein. Die korrekte Frage wäre "Was ist eine Klammer?" gewesen. ;)

Klauss hat zwar die Frage richtig beantwortet, seine Antwort aber leider nicht als Frage formuliert, daher hat er auch nicht gewonnen. ;)
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: klaussal am 20.02.08 - 16:00:17
Schade  :'(
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: koehlerbv am 20.02.08 - 16:10:10
By the way: Klaus hat die Frage nicht richtig beantwortet (und Martin auf die falsche Stelle gedeutet). Ich bin aber der Meinung, dass das der Fragesteller wenigstens können sollte: Klammern zählen und logisch zuordnen können. Insofern schäme ich mich nicht mal für mein inkorrektes Codebeispiel.
Und anderen die Arbeit abnehmen wollen wir ja auch nicht. Zumindest nicht, solange die Leistung dann nicht bezahlt wird.

Bernhard
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: klaussal am 20.02.08 - 16:19:56
(  jetzt richtig ?
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: koehlerbv am 20.02.08 - 16:27:14
Schon gar nicht falsche Stelle. Es lohnt sich, mein (falsches) Codeposting zu betrachten. Bei Klammer auf / Klammer zu bleibt eine "Klammer auf" stehen ...

Aber nun lasst das mal "samity" schön selber suchen.

Bernhard
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: gossifu am 20.02.08 - 16:56:37
Hallo,


Okay, wo?

SELECT (@IsTime (WV) & (WV < @Today); MailSend (SendTo;"";"";_Subject :="Erinnerung Wiedervorlage";_Text := "Bitte diesem Link zu den unerledigten Wiedervorlagen folgen!";"";[IncludeDoclink])

Warum werden Variablen bestückt, es reicht doch der reine Text?

mfg

Kjeld
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: samity am 21.02.08 - 13:14:57
Habe wohl gestern nur noch alles doppelt gesehen. Jedenfalls habe ich sie gefunden und gleich wieder verworfen, da ich Select reduziert habe.. Jetzt funktioniert der Agent und versendet auch Erinnerungsmails.

SELECT (WV < @Today); @MailSend(SendTo;"";"";_Subject :="Erinnerung Wiedervorlage";_Text := "Bitte diesem Link zu den unerledigten Wiedervorlagen folgen!";"";[IncludeDoclink])

THANKS!
Titel: Re: Erinnerungs-Agent läuft auf Fehlermeldung
Beitrag von: koehlerbv am 22.02.08 - 00:07:41
Ich mag diesen Thread jetzt nicht so dastehen lassen, daher (mit einem Warnhinweis wie bei den Öffentlich-Rechtlichen Rundfunkanstalten):

"Liebe Kinder, macht das jetzt bitte nicht nach."

Ich habe in Posting #9 ausdrücklich darauf hingewiesen, dass man Datums-/Zeitwerte niemals ungeprüft in Formeln verwenden darf.
Weiters ist die Angabe der @MailSend-Parameter für Thema und Anmerkung abstrus und undokumentiert (in früheren / späteren Versionen mag es da scheppern - R5 meckert auf jeden Fall, R9 mag das wieder tun).

Korrekt würde die Formel wie folgt lauten:
Code
SELECT (@IsTime (WV)) & (WV < @Today); @MailSend (SendTo; ""; ""; "Erinnerung Wiedervorlage"; "Bitte diesem Link zu den unerledigten Wiedervorlagen folgen!"; ""; [IncludeDoclink])

Und "samity" möge folgendes tun:
- Einen richtigen Namen unter seine Postings setzen - das erhöht die Bereitschaft zur Hilfe
- Wichtige Hinweise auch befolgen
- Fehlende Klammern (aus Posting #9) finden können - wenn es daran schon scheitert und man sich dann wieder mit der Billiglösung zufrieden gibt, dann sieht das ganz finster aus

Bernhard