Autor Thema: Hilfe bei Einrichtung eines Erinnerungsagent  (Gelesen 4576 mal)

Offline Malycor

  • Frischling
  • *
  • Beiträge: 25
  • Geschlecht: Männlich
Hilfe bei Einrichtung eines Erinnerungsagent
« am: 20.04.10 - 10:15:33 »
Hallo liebe atnotes.de User,

Ihr könnt mir sicherlich bei einer einfachen Aufgabe behilflich sein. Ich komme irgendwie nicht weiter ... Habe zwar die ein oder anderen Hinweise hier im Forum gefunden, aber komme nicht zurecht damit.

Ich möchte gerne einen Erinnerungsagenten einrichten, der die Aufgabe übernehmen soll, ein Datum zu prüfen. Sobald das Datum abgelaufen ist, möchte ich gerne per eMail benachrichtigt werden.

Dafür habe ich bereits folgendes eingerichtet:

Ein Feld namens: Ablaufdatum (bearbeitbar) Wird manuell beim Anlegen des Dok. festgelegt. Bsp. 24.04.2010
Im Agent habe ich Ihm folgendes mitgegeben:
SELECT Ablaufdatum < @Today; @MailSend("EMailAdresse";"";"";"Lieferant ist abgelaufen";"";"Bitte prüfen Sie den folgenden Lieferanten auf Gültigkeit "; [IncludeDoclink])

Wenn ich jetzt allerdings den Agent ausführe, erhalte ich die Meldung:Agent 'Ablauf der Zeugnisse' wurde am 20.04.2010 10:14:26 gestartet
Bearbeitet alle Dokumente in der Ansicht: 234 insgesamt
234 Dokumente gefunden, die die Suchkriterien erfüllen
Fehler in Formel: Für Vergleichsoperatoren müssen zwei Werte desselben Datentyps angegeben werden.
1 Dokument(e) wurden durch die Formel geändert
Agent 'Ablauf der Zeugnisse' wurde am 20.04.2010 10:14:27 beendet


Die E-Mail mit dem DocLink wird zwar verschieckt, aber die Meldung irritiert mich.
Was mache ich falsch?

Danke für Eure Hilfe und Tips.
Olaf
« Letzte Änderung: 20.04.10 - 11:43:05 von Malycor »

Offline WernerMo

  • @Notes Preisträger
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.050
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #1 am: 20.04.10 - 10:21:06 »
Hallo,

da wird doch alles schon gesagt:
...
Fehler in Formel: Für Vergleichsoperatoren müssen zwei Werte desselben Datentyps angegeben werden.

Was vergleichst Du denn (Äpfel mit Birnen?)?

Gruß Werner
Gruß Werner
  o                                                  o   
 /@\  Nächster @Notes-Stammtisch  /@\  online Sept. 2020?
_/_\__________________________/_\_ Details folgen.

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #2 am: 20.04.10 - 10:28:21 »
Ist Ablaufdatum ein Datumsfeld? Falls nicht, schreib

@TextToTime (Ablaufdatum) < @Today

Offline Malycor

  • Frischling
  • *
  • Beiträge: 25
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #3 am: 20.04.10 - 10:33:31 »
Zitat
Für Vergleichsoperatoren müssen zwei Werte desselben Datentyps angegeben werden
Wenn ich wüßte, was es bedeutet, wäre ich nicht hier.  ???

und @Peter
Ja, das Feld Ablaufdatum ist ein Feld vom Typ (Datum)

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #4 am: 20.04.10 - 10:40:24 »
Schau mal in der Feldliste eines geschlossenen Dokumentes nach dem Feld Ablaufdatum. Sind Anführungsstriche um den Wert (also das Datum), ist es kein Datumsfeld.

Vielleicht gibt es alte Dokumente, bei denen das Feld ein Textfeld ist. Um ganz sicher zu gehen, verwende

@TextToTime (@Text (Ablaufdatum)) < @Today

Ablaufdatum wird dann erst in Text umgewandelt und dann in Datum.

Offline Malycor

  • Frischling
  • *
  • Beiträge: 25
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #5 am: 20.04.10 - 11:11:58 »
also,... es sind keine Anführungszeichen drumherum. Das Datum steht völlig alleine in der Feldliste drin. Bedeutet also eigentlich: Es ist ein Datumsfeld. Nun gut ...

@Peter Klett
Könntest Du mir bitte noch sagen, wo ich das @TextToTime verwenden soll?
In dem Agent oder das Feld vom Typ her ändern und dort die Formel hinterlegen oder wie?

Sry das ich mich so blöde anstelle ...  :-[
Grüße
Olaf

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #6 am: 20.04.10 - 11:19:08 »
Ich vermute eher, dass es Dokumente in der DB gibt, in denen "Ablaufdatum" leer ist. Bevor man sich neue Probleme mit Text-Datum-Konvertierungen einholt, sollte man die Abfrage sauberer machen:

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

Bernhard

Offline Malycor

  • Frischling
  • *
  • Beiträge: 25
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #7 am: 20.04.10 - 11:42:44 »
Es funktioniert mit dem Hinweis:
Zitat
@TextToTime (@Text (Ablaufdatum)) < @Today

Danke für Eure tatkräftige Unterstützung.
Grüße und einen sonnigen Tag noch > Olaf

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #8 am: 20.04.10 - 11:48:48 »
Der Hinweis von Bernhard ist aber nicht zu verachten. Ist das Ablaufdatum leer (daran hatte ich nicht gedacht  :'(), kracht es wieder. Probier auch mal seine Variante.

Viele Grüße

Peter

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #9 am: 20.04.10 - 21:34:54 »
Lieber Olaf,

schön, daß der Agent jetzt funktioniert. Wenn der täglich läuft, wird dir bald der Ruf des Betriebsspammers anhaften, denn deinem Agenten fehlen noch einige entscheidende Kleinigkeiten, die dir in Kürze bewußt werden, wenn mehr und mehr Dokumente ihr Ablaufdatum überschreiten.

Vielleicht in Kürze einmal, wie man einen solchen Agenten aufbaut.

1. Mit Selektionsformel Dokumentauswahl treffen oder im Agent stückweise mit @Return("") Ausstiegspunkte für unerwünschte Erinnerungen definieren, z.B. Konfliktdokumente, Dokumente mit bestimmtem Status, Dokumente ohne Empfänger usw.

2. Wenn erinnert werden muß, Feld hinzufügen mit dem heutigen Erinnerungsdatum und gegen dieses prüfen, damit z.B. nur alle 14 Tage erinnert wird

 z.B.

@If(form!="Lieferantenbewertung";@Return("");NULL);
@If(@IsAvailable($Conflict);@Return("");NULL);

@If(@IsError(DatumBis) | DatumBis="" | DatumBis > @Now | @IsUnavailable(AlertDistribution) | AlertDistribution="";@Return("");NULL);

REM { Informiert werden muß nur, wenn noch nicht informiert wurde oder die letzte Alert-Information älter als 14 Tage ist};
@If(DateAlert="" | @Adjust(@Now;0;0;-14;0;0;0)>@Subset(DateAlert;-1);NULL;@Return(""));

FIELD DateAlert:=@If(DateAlert="";@Today;DateAlert:@Today);

@MailSend(AlertDistribution; ...)

3. Und dann lohnt es sich, den ANwendern eine Möglichkeit an die Hand zu geben, wie sie die Geister wieder loswerden können, die du gerufen hast.

Viel Spaß dabei

Gruß

Norbert
Situs vilate in isse tabernit.

Offline Malycor

  • Frischling
  • *
  • Beiträge: 25
  • Geschlecht: Männlich
Re: Hilfe bei Einrichtung eines Erinnerungsagent
« Antwort #10 am: 08.09.10 - 14:48:15 »
Ich muss leider noch einmal auf das Thema zu sprechen kommen.

Ich habe es ja (anhand Eurer Hinweise) in der Datenbank mittlerweile mit folgendem Code-Teil abgebildet.
Zitat
SELECT (@IsTime (Ablaufdatum)) & (Ablaufdatum < @Today); @MailSend ...

Jetzt sind weitere Datumsfelder hinzugekommen Ablaufdatum_2, Ablaufdatum_3, ... die ebenfalls mit abgefragt werden müssen.
Wie kann ich denn in einem SELECT so etwas abbilden?

Es grüßt Malycor

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz