Rechnen mit Arbeitstagen
Hallo ihr Lieben,
ich stehe mal wieder auf dem Schlauch. Ich will mit Arbeitstagen rechnen, bekomme die Formel aber nicht hin. Ich habe in einem Feld X die Lieferzeit in Tagen angegeben, also zb 4 Tage. Dann habe ich ein Datumsfeld, welches mit die vorrausichtlichte Lieferzeit ausspucken soll (also today()+FeldX). Wie bekomme ich es jetzt hin, dass er die 4 Tage als Arbeitstage draufrechnet. Also im Falle, dass in dem Zeitraum ein Wochenende liegt, er dieses automatisch mit draufrechnet. Habe mich schon an workdays versucht, aber bisher ohner Erfolg. Die Formel will er nicht.
5 Antworten
-
Hallo Paul,
diese Formel für ein f(x) feld sollte funktionieren:
---
function workday(myDate : date) do
myDate := correctedDate(myDate);
myDate := if weekday(myDate) > 4 then
date(year(myDate), month(myDate), day(myDate) + 7 - weekday(myDate))
else
myDate
end;
myDate
end;
if FeldX then
let myDate := today();
myDate := workday(myDate);
for i in range(FeldX) do
myDate := date(year(myDate), month(myDate), day(myDate) + 1);
myDate := workday(myDate)
end;
myDate
end
---
Leo
-
Hey Leo,
super vielen Dank. Das funktioniert. Top, hätte ich alleine nicht hinbekommen. Bin beigeister.
Ich verstehe die Formel auch leider überhaupt nicht :D, daher muss ich dir noch ein Frage stellen: Kann man irgendwie noch einbauen, dass es wenn es später als 9:30 Uhr ist automatisch noch ein Tag mit draufgerechnet wird?
Ich danke dir schon mal für deine Antwort.
-
Ohne Leo vorwegzugreifen, würde ich es dann wie folgt schreiben:
function workday(myDate : date) do
myDate := correctedDate(myDate);
myDate := if weekday(myDate) > 4 then
date(year(myDate), month(myDate), day(myDate) + 7 - weekday(myDate))
else
myDate
end;
myDate
end;
if FeldX then
let myDate := today()
if datetime(today(), time()) > datetime(year(today()), month(today()), day(today()), 9, 30) then
myDate := today()+1
end;
myDate := workday(myDate);
for i in range(FeldX) do
myDate := date(year(myDate), month(myDate), day(myDate) + 1);
myDate := workday(myDate)
end;
myDate
end -
Hammer, ich danke dir. Auch Leo wird bestimmt nicht böse sein, dass du mir Noob das erklärt hast:D
Komme ja eigentlich echt gut klar mit Ninox und bekomme auch einiges hin, aber wenn es an die Funktionen geht wird es kompliziert.
Also, 1000 Dank! Meine Druckaufträge können dank dir jetzt (fast) vollautomatisch ablaufen :p
-
Die Hauptarbeit hat Leo gemacht.
Content aside
- vor 2 JahrenZuletzt aktiv
- 5Antworten
- 287Ansichten