Beschaffungszeit filtern

6. Februar 2012 11:11

Hallo,

wie kann man vernünftig nach bestimmten Beschaffungszeiten filtern?

Gebe ich einen Filter ein der ">7T" heisst, bekomme ich keine Artikel heraus die 30T Wiederbeschaffung haben.

Wie macht man das?

Re: Beschaffungszeit filtern

6. Februar 2012 11:31

Hallo Pegasus,

NAV interpretiert Datumsformeln wie Textfelder.
Daraus ergibt sich, dass 30T kleiner ist als 7T, denn die 3 ist kleiner als die 7.

Auf Datumsformeln lässt sich sowieso nicht wirklich sinnvoll filtern, denn eine Datumsformel 7T ist identisch mti 1W.

Einzige Möglichkeit:
Es müsste ein Eingabefeld programmiert werden, in welchem man die Anzahl Tage (als Integer) eintragen kann.
Nach erfolgter Eingabe müssten jedoch alle Datensätze gelesen werden, und für jeden Datensatz berechnet werden, ob die Datumsformel mehr oder weniger als die geforderten Tage ergibt.
Code:
DeinEingabeFeld - OnAfterValidate()
IF DeinRecord.FINDSET(FALSE) THEN
  REPEAT
    DeinRecord.MARK := (CALCDATE(DeinRecord.DatumsFormel,TODAY) - TODAY) > DeinEingabeFeld;
  UNTIL DeinRecord.NEXT = 0;
DeinRecord.MARKEDONLY := TRUE;