Autor Thema: Täglicher Agent - Datumsvergleich  (Gelesen 2994 mal)

Offline Bensen

  • Frischling
  • *
  • Beiträge: 7
Täglicher Agent - Datumsvergleich
« am: 05.10.05 - 13:50:00 »
Hallo alle zusammen,

ich hab ein problem mit meiner betrieblichen abschlussprojektarbeit. ich entwickle eine ln-datenbank um verträge abzulegen. dabei würde ich gerne einen agenten anbieten, der einen datumsvergleich durchführt (und ja ich weiß das es auch schon 1000 mal durchgekaut wurde, ich aber in den anderen threads nichts für mich passendes gefunden habe :( )

also ich habe ein feld, in welches das ablaufdatum des vertrages eingegeben wird und ein feld in welches das aktuelle datum per @today eingetragen wird.
einen agenten, der das "@today" feld täglich aktualisiert habe ich bereits erstellt.

der agent soll folgendes "können"
das ablaufdatum mit dem heutigen datum vergleichen und wenn die anzahl der tage zwischen den daten <14 ist, soll eine email verschickt werden.

tut mir echt leid, aber ich blick es einfach nicht, wie ich das auf die beine stellen kann :( - hoffe einer von euch kann mir helfen ...  :-:

danke schon mal!!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Täglicher Agent - Datumsvergleich
« Antwort #1 am: 05.10.05 - 13:59:07 »
Formel oder LS oder Java ?
Und wozu schreibst Du (offensichtlich täglich) @Today in ein Feld jeden Dokuments ?

Darfst Du die Abschlussarbeit auch ohne Grossbuchstaben schreiben ?

Bernhard

Offline Bensen

  • Frischling
  • *
  • Beiträge: 7
Re: Täglicher Agent - Datumsvergleich
« Antwort #2 am: 05.10.05 - 14:08:07 »
Also Formelsprache wäre mir am liebsten, da ich mich mit LS / Java nicht wirklich auskenne.

Das "Today" - Feld ist in einer Teilmaske welche ich in verschiedenen anderen Masken auch noch verwende.

Und nein leider darf ich das nicht, es würde einiges vereinfachen ;) - wie du siehst versuche ich mich schon an die Grossbuchstaben zu gewöhnen :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Täglicher Agent - Datumsvergleich
« Antwort #3 am: 05.10.05 - 14:13:28 »
Der Sinn eines täglich aktualisierten Feldes mit dem Inhalt "heute" erschliesst sich mir überhaupt nicht ... Jeden Tag ist heute heute (und gestern wird übermorgen vorgestern sein  ;D).

Da Du Deine Arbeit ja selber schreiben musst:
Dein Agent muss prüfen, ob er gerade ein entsprechendes Dokument am Wickel hat (Form = "...").
Wenn das gegeben ist, dann nimmst Du @Today (nicht das sinnlose Feld) und vergleichst diesen Datumswert mit dem Ablauftermin-Feld - 14 Tage. Hierzu gibst Du der @Adjust-Function eine Chance.

HTH,
Bernhard

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Täglicher Agent - Datumsvergleich
« Antwort #4 am: 05.10.05 - 14:18:35 »
Die so erzeugten Daten kannst Du einfach per < > = vergleichen.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline Bensen

  • Frischling
  • *
  • Beiträge: 7
Re: Täglicher Agent - Datumsvergleich
« Antwort #5 am: 05.10.05 - 14:43:31 »
sry aber ich blicks nicht  ??? kann mir nicht einer nen konkreten ansatz geben

To find the difference between two dates, subtract them. The result is returned in seconds. To adjust the result to days, divide the result by 86,400 - which is the number of seconds in a day. For example, if you have two date fields, date1, which contains [07/01/01] and date2, which contains [07/05/01], use the following formula to return the number of days between the two dates:
(date2-date1)/86400
This code returns 4.


das ist ja genau das was ich brauche aber ich kriegs net auf die kette

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Täglicher Agent - Datumsvergleich
« Antwort #6 am: 05.10.05 - 14:48:02 »
dusollstnichtsubtrahierensondernvergleichen.

Offline Bensen

  • Frischling
  • *
  • Beiträge: 7
Re: Täglicher Agent - Datumsvergleich
« Antwort #7 am: 05.10.05 - 14:56:04 »
muss toll sein von etwas soviel ahnung zu haben ... wie soll ich denn sonst bitte auf die 14 tägige differenz kommen um dann zu sagen "hallo - email muss raus"??

klaussal

  • Gast
Re: Täglicher Agent - Datumsvergleich
« Antwort #8 am: 05.10.05 - 14:56:17 »
Wenn man sich das Problem näher anschaut, dann kriegt da jemand 14 Tage lang eine Mail gesendet  ;D

Zitat
dusollstnichtsubtrahierensondernvergleichen
Ist das das 11. Gebot  ??? ;D ???

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Täglicher Agent - Datumsvergleich
« Antwort #9 am: 05.10.05 - 15:05:02 »
Wenn das Ergebnis Deiner Subtraktion <=14 ist, dann ist es an der Zeit ein echter Mann zu sein und ein Mail zu versenden. 8)
Richtig ist: Erst subtrahieren und dann das Ergebnis mit 14 vergleichen.
Ist es grösser als 14, ist das eine Datum vom anderen weniger als 14 Tage entfernt (Achtung: je nach Reihenfolge der Daten können auch falsche Werte - negative rauskommen - einfach probieren).
Ist es kleiner oder gleich 14, dann versende das mail

@if(((date2-date1)/86400)>14;@return(0);@do(.........));

.....heisst in dem Fall: Mail versenden - und was sonst noch so dazugehört.
« Letzte Änderung: 05.10.05 - 15:13:06 von Gandhi »
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Täglicher Agent - Datumsvergleich
« Antwort #10 am: 05.10.05 - 15:09:37 »
Einfacher geht es mit Adjust - dann kann man auf Subtraktion und Division verzichten und kommt mit einem schlichten "<" aus  ;)

Dann sollte man sich noch was einfallen lassen, dass bei Erfüllung der Bedingung das Mail nur einmal versandt wird.

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Täglicher Agent - Datumsvergleich
« Antwort #11 am: 05.10.05 - 15:14:27 »
Na ja, wie man auf die Differenz kommt ist meiner Meinung nach eine Geschmacksfrage.
Das Senden den Mails könnte man mit dem Setzen eines Flags (=Feld/Feldwert) dokumentieren - und dieses Flag in der Formel mitabfragen.
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline Bensen

  • Frischling
  • *
  • Beiträge: 7
Re: Täglicher Agent - Datumsvergleich
« Antwort #12 am: 05.10.05 - 15:20:39 »
also erstmal danke für die hilfe, der agent läuft und das nimmt mir erstmal ne menge last von den schultern ..

das mit dem ständigen sende der mail stimmt - ist wirklich ein problem, obwohl es da auf die leute ankommt die die mail erhalten ;)

@gandhi
kann ich dann praktisch ein verstecktes feld im dokument erstellen, diesem den wert 1 (oder was auch immer) geben, wenn ich bei genau 14 tagen die mail versandt habe und dann auf das feld abfragen -> wenn feld den wert 1 besitzt, dann keine mail ??

Offline Gandhi

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 918
  • Geschlecht: Männlich
  • Domino for the masses
Re: Täglicher Agent - Datumsvergleich
« Antwort #13 am: 05.10.05 - 15:24:54 »
genau
Der "Wenn ich" und der "Hätt' ich" das sind zwei arme Leut'
oder für den Süden:
Hatti Tatti Wari - san drei Larifari

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Täglicher Agent - Datumsvergleich
« Antwort #14 am: 05.10.05 - 15:34:37 »
Dafür brauchst Du noch nicht mal ein (verstecktes) Feld erstellen: Lass den Agent einfach ein Item erstellen:
FIELD MailSent := "1"
Vor dem Mailen fragst Du dann ab, ob das MailSent-Feld (mit "1") gefüllt ist ...

Die Maske sollte aber die Property "Replizierkonflikte mischen" haben, damit Du Dir hier durch den Agent keine Konflikte ins Haus holst.

Da Du jetzt schon eine Lösung hast:
@If (@Today <= @Adjust (Vertragsende; 0; -14; 0; 0; 0; 0) & MailSent != "1"; @MailSend (...); @Return (""))

HTH,
Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz