Dynamics NAV og udenlandske datoformler

Dynamic NAV har en indbygget felttype der hedder date formula (datoformel) – og den er ret intelligent.

Ideen er at man kan angive en datoformel – altså noget der bruges til at beregne en ny dato ud fra en eksisterende. Det kan fx være en betalingsbetingelse (LM+30D = Løbende Måned + 30 dage) og formlerne kan være ret komplekse.

I Dynamic NAV er det endda så intelligent at Dynamic NAV gemmer dem i databasen på en sprog-neutral måde, mens den viser dem oversat til brugerens sprog.

Jamen hvad så hvis jeg skal angive en datoformel i programkoden og ikke ønsker at det skal være sprogafhængig?

Så tilbyder NAV ganske simpelt at du angiver dem på ENU (English/United States) sproget ved at sætte < og > omkring dem – fx “<CM+30D>”.

Ulempen er naturligvis hvis du ønsker at kunne manipulere med de sproguafhængige former selv – eller blot ønsker at vide hvilke tegn der har betydning på andre sprog.

Nu har Dynamic NAV RET mange forskellige sprog, men vi har lavet en tabel over de værdier vi kender. Du er velkommen til at bidrage med andre:

SPROG\BETYDNING Ugedag Løbende Dag Uge Måned Kvartal År Finansperiode
DAN UD L D U M K Å P
DEU WT L T W M Q J P
ENU WD C D W M Q Y P
ITA GS C G S M T A P
NOR UD N D U M K Å P
SVE VD L D V M K Å P

Husk – du er velkommen til at bidrage med flere til listen hvis du kender dem.

Eksempler på datoformler (til inspiration)

Datoformel (ENU) Betydning
<8D> + 8 dage
<CM+30D> Løbende måned + 30 dage
<-CM> Første dag i indeværende måned
<CM> Løbende måned (dvs. sidste dag i indeværende måned)
<1M-CM> Første dag i næste måned
<1M+CM> Sidste dag i næste måned
<-D15> Dag nr. 15 i denne måned
<D15> Dag nr. 15 i næste måned
<W2> Søndag i uge 2 i næste måned (ugen går fra Mandag-Søndag i NAV)
<CY-1Y> Sidste dag i sidste kalenderår
<CW+2D+1W> En uge efter næste tirsdag
<D10+WD2> Den førstkommende tirsdag efter d. 10. i næste måned

Bemærk alle er her angivet i deres ENU-form (derfor er der < og > omkring dem). Du kan jo evt. selv oversætte dem til det ønskede sprog via ovenstående tabel

Skriv et svar