Options

Leverdatum - levertijd = bestelweek

rtamesrtames Member Posts: 56
edited 2009-06-05 in NAV Dutch speaking only
ik heb het volgende vraagstuk:

ik heb in een tabel drievelden:
Leverdatum is een datumveld (bv 15-10-2009)
levertijd is een decimal (bv 2) (in weken)
besteldatum is een datumveld.

besteldatum zou een berekening moeten zijn van leverdatum minus levertijd (bv 15-10-2009 - 2 (weken) zou moeten zijn 1-10-2009)

ik heb echter geen idee hoe ik dit voor elkaar kan krijgen. Tevens komt hier nog bij dat als de besteldatum in onze vakantieperiode valt (4 weken bouwvak of in de 2 weken van de kerstvakantie) dan moeten er nog eens 4 weken afgehaald worden voor de bouwvak en 2 weken bij de kerstvakantie.

is dit mogelijk in Navision?

Comments

  • Options
    MaximusMaximus Member Posts: 105
    Hoi,

    dat is zeker mogelijk. Het makkelijkste is om van levertijd een dateformula te maken ipv een decimal (bv. 2W voor 2 weken). Mbv de functie CALCDATE kan dan de besteldatum berekend worden. Om rekening te houden met vakanties ed kun je gebruik maken van de Basiskalenderfunctionaliteit.
  • Options
    rtamesrtames Member Posts: 56
    Bedankt,

    ik heb nu de formule:

    bestelweek := CALCDATE(levertijd,leverdatum)

    hij telt nu echter de levertijd bij de leverdatum op hoe kan hij deze ervan aftrekken zonder dat we in het veld levertijd -3W hoeven te plaatsen?

    Hoe krijg ik de functionaliteit hierin verwerkt dat hij ook rekening houdt met de vrije dagen zoals deze in de kalender staan?
  • Options
    SogSog Member Posts: 1,023
    bekijk de functies in codeunit 7600 calendar management
    vooral calcdateBOC
    |Pressing F1 is so much faster than opening your browser|
    |To-Increase|
  • Options
    rtamesrtames Member Posts: 56
    Helaas ben ik niet zo´n programmeur dat ik daar iets mee kan.

    nog andere ideen?
  • Options
    SogSog Member Posts: 1,023
    definieer in je tabel een globale variabele kalender met als datatype codeunit en als subtype 7600
    vervang CALCDATE(levertijd,leverdatum) door kalender.CalcDateBOC(levertijd, leverdatum,0,'','',0,'','',FALSE);
    Dit berekend de datum op de standaardkalender. (de kalender van de company)
    Als het wenselijk is om de levertijd in te vullen als 3W ipv -3W gebruik dan kalender.CalcDateBOC2(levertijd, leverdatum,0,'','',0,'','',FALSE);
    Dan word de 3W afgetrokken van de leverdatum
    |Pressing F1 is so much faster than opening your browser|
    |To-Increase|
Sign In or Register to comment.