Autor Thema: Datum berechnen und abgleichen  (Gelesen 1689 mal)

Offline Silver

  • Senior Mitglied
  • ****
  • Beiträge: 294
  • Geschlecht: Männlich
  • "free your mind"
Datum berechnen und abgleichen
« am: 28.05.03 - 10:07:28 »
Hi Freaks!

Habe eine Maske, in der ich in einem Feld ein Datum zur Erfassung habe. Nun soll aus diesem Datum ein Ablauftag (nach 15 Tage) und ein Ablauftag (nach 30 Tage) ermittelt werden.
In Abhängigkeit hiervon soll dann in einer ansicht ein Symbol (grün (unter 15 Tage), orange (über 15 - 29 Tage), und rot (über 30 Tage) erscheinen. Wie muss ich das realisieren??? Kann mir jemand helfen??? Wäre spitze!!! ??? :-[

Gruss, Silver

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re:Datum berechnen und abgleichen
« Antwort #1 am: 28.05.03 - 10:15:40 »
Du hast hier zwei Probleme, die du sauber voneinander trennen musst.
Das erste ist die Ermittlung der Ablaufdaten, basierend auf einen irgendwo in der Maske vorhandenen oder eingegebenen Datum. Das kannst du ganz einfach mit berechneten Datumsfeldern und @adjust lösen.

Deine zweite Anforderung ist ein bischen schwieriger. Was du auf gar keinen Fall tun solltest ist, den Felher zu begehen mit @today in einer View zu operieren. Das wird jeweils immer aktuell beim aufrufen neu berechnet und führt je nach größer der DB und anzahl der Views zu katastrophalen Ergebnissen.
Sinnvoller ist es hier eine Agent zu schreiben, der einmal am Tag läuft und die verbleibende Zeit bis zum Ablaufdatum1 bzw 2 berechnet. In diesem Agent kannst du dann die Zeit in Tagen in deinem Dokument abspeichern und gleichzeitig deine Statusflags setzen.

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline Silver

  • Senior Mitglied
  • ****
  • Beiträge: 294
  • Geschlecht: Männlich
  • "free your mind"
Re:Datum berechnen und abgleichen
« Antwort #2 am: 28.05.03 - 10:31:51 »
Mit @adjust habe ich es schon versucht. Es wird aber nichts verspeichert. Könntest Du mir bitte die Formel hierfür aufzeigen???

Ebenso bitte die vom Agenten. Wäre wirklich klasse!!! Bin noch Anfänger, sorry!!!

Offline Thomas Schulte

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re:Datum berechnen und abgleichen
« Antwort #3 am: 28.05.03 - 11:13:31 »
Das erste ist relativ einfach :
Berechnetes Feld einfügen, Typ Datum, Anzeige Datum, Berechnungsformel:
@If(@IsAvailable(flddatum1);@Adjust(fldDatum1;0;0;15;0;0;0);"")
bei 30 Tagen entsprechendes zweites Feld mit 30 anstelle der 15.
Was den Agent angeht.
Neuer Agent, läuft auf alle Dokumente, Select nach Feld, Form = "deinformname" damit er nur die Dokumente erwischt, die zu bearbeiten sind. eventuell entsprechend Ergänzen mit anderen Bedingungen.
Im Agent dann:
REM " Vorgabewerte aus Dokument holen";
IntDatumjetzt := @Date(@Today);
IntDatumAblauf1 := @Date(fldberDatum1);
IntDatumAblauf2 := @Date(fldberDatum2);
REM " Differenz zwischen heut und Ablaufdatum ermitteln";
DifferencedaysDatum1 :=(intDatumAblauf1 - intdatumjetzt)/86400;
DifferencedaysDatum2 := (intDatumAblauf2 - intdatumjetzt)/86400;

Und den Rest mit @if und entsprechenden Vergleichen. Da hab ich jetzt nicht mehr weitergemacht, weil deine Anforderungen für den Vergleich nicht reproduzierbar sind.
Wenn du zwei Datumswerte hast die fest definiert sind, dann hast du spätestens dann, wenn Datumsdifferenz2 < 30 automatisch auch Datumsdifferenz1 < 15. Logisch nicht auflösbar.

Thomas
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz