[GELÖST] Datumsberechungen

5. Januar 2010 13:08

Hallo alle!

Ich bin ziemlich neu in NAV und muss ein paar Datumsberechnungen durchführen, und zwar ausgehend von einem Datum.
Welche Ergebnisse berechnet werden sollen, soll das folg. Beispiel zeigen:

Ausgangsdatum: 23. August 2009
Ergebnis1: 3. Quartal 2009 (=Quartal mit Jahr, in dem sich das Datum befindet)
Ergebnis2: 01/07/09 (=Erster Tag des ersten Monats in dem Quartal)
Ergebnis3: 31/07/09 (=Letzter Tag des ersten Monats in dem Quartal)
Ergebnis4: 01/08/09 (=Erster Tag des zweiten Monats in dem Quartal)
Ergebnis5: 31/08/09 (=Letzter Tag des zweiten Monats in dem Quartal)
Ergebnis6: 01/09/09 (=Erster Tag des dritten Monats in dem Quartal)
Ergebnis7: 30/09/09 (=Letzter Tag des dritten Monats in dem Quartal)

Außerdem muss ich den Monatsnamen eines Datums ermitteln: zB Juli für 07, August für 08 und September für 09.

Wie mache ich das alles am einfachsten/besten?

Vielen Dank für eure Hilfe im Voraus!
LG Gerald
Zuletzt geändert von BadGer am 5. Januar 2010 15:57, insgesamt 1-mal geändert.

Re: Datumsberechungen

5. Januar 2010 13:33

Hallo Gerald,

über den Navision-Record "Date" kommst du an alle Informationen ran, die du dafür brauchst.
Unten ein kleines Beispiel, das das Prinzip verdeutlichen soll.

Code:
VAR
  Date D;
  Record Date dateRec;
  Integer i;

D := 23082009D;

DateRec.setrange("Period Type", DateRec."Period Type"::Quarter);
DateRec.setfilter("Period Start", '..%1', D);

DateRec.FINDLAST;

message('%1. Quartal %2', DateRec."Period Name", Date2dmy(DateRec."Period Start", 3));
DateRec.setfilter("Period Start", '%1..', DateRec."Period Start");
DateRec.setrange("Period Type", DateRec."Period Type"::Month);
DateRec.findset;
for i := 1 to 3 do begin
  message('%1 .. %2', DateRec."Period Start", normaldate(DateRec."Period End"));
  DateRec.next;
end;


Gruß Torsten

Edit: Werte für "Period Type" ausgeschrieben (Month, Quarter)
Zuletzt geändert von Torsten67 am 5. Januar 2010 14:03, insgesamt 2-mal geändert.

Re: Datumsberechungen

5. Januar 2010 13:36

BadGer hat geschrieben:Ich bin ziemlich neu in NAV und muss ein paar Datumsberechnungen durchführen, und zwar ausgehend von einem Datum.
Na, so neu nun auch nicht mehr :wink:

BadGer hat geschrieben:Ergebnis1: 3. Quartal 2009 (=Quartal mit Jahr, in dem sich das Datum befindet)

BadGer hat geschrieben:Außerdem muss ich den Monatsnamen eines Datums ermitteln: zB Juli für 07, August für 08 und September für 09.
Guckst du in C/Side-Hilfe zu Format.

BadGer hat geschrieben:Ergebnis2: 01/07/09 (=Erster Tag des ersten Monats in dem Quartal)
Ergebnis3: 31/07/09 (=Letzter Tag des ersten Monats in dem Quartal)
Ergebnis4: 01/08/09 (=Erster Tag des zweiten Monats in dem Quartal)
Ergebnis5: 31/08/09 (=Letzter Tag des zweiten Monats in dem Quartal)
Ergebnis6: 01/09/09 (=Erster Tag des dritten Monats in dem Quartal)
Ergebnis7: 30/09/09 (=Letzter Tag des dritten Monats in dem Quartal)

C/Side-Hilfe zu Calcdate. Falls das Format des Datums mit den Slashes genauso aussehen muss: nochmal bei Format nachsehen.

Re: Datumsberechungen

5. Januar 2010 15:56

Hallo!

Vielen Dank für eure großartige Hilfe!

Mit der Hilfe zu CALCDATE bin ich leider nicht zurechtgekommen...
Aber ich habe das mit dem Date-Record probiert - funktioniert super!
Und ist auch noch total einfach dazu!

LG Gerald