Tabelle Urlaubsplanung minus Feiertage
Hallo,
ich habe eine Tabelle für meine Urlaubsplanung mit einem Datumsfeld für Anfang und Ende und eine weitere Tabelle mit den Feiertagen aus meiner Region erstellt.
Allerdings habe ich ganz besondere Arbeitszeiten. Von Montag bis Donnerstag 8,75 Stunden und Freitags 5 Stunden.
Die Urlaubsstunden berechne ich mit der Funktion:
function sollStunden(Anfang : date,Ende : date) do
let sStd := 0;
for i from Anfang to Ende + 1 step 1000 * 60 * 60 * 24 do
sStd := sStd + switch weekday(i) do
case 4:
5
case 5:
0
case 6:
0
default:
8.75
end
end;
sStd
end;
Soweit kein Problem. Aber was passiert wenn ein Feiertag in diesen Zeitraum fällt ? Dieser müsste dann von den Urlaubsstunden lt. meinen speziellen Arbeitszeiten abgezogen werden.
Mit welcher Formel finde ich heraus wieviele Feiertage vorkommen und auf welchen Wochentag sie fallen.
Danke im Voraus für die Hilfe,
Andreas
4 Antworten
-
Hi Andreas. Erweitere doch Deine Funktion mit folgendem Code. Voraussetzung: Tabelle heißt Feiertage und Feld heißt Feiertag. Die Summe liefert Dir die Stundenzahl, wenn ein Feiertag innerhalb der Datumsgrenzen liegt. Mirko
let beginn := DEINANFANGSDATUM; let ende := DEINENDDATUM; let feierSum := sum(for i in select Feiertage do if i.Feiertag >= beginn and i.Feiertag <= ende then let hour := weekday(i.Feiertag); switch hour != 7 do case hour >= 0 and hour < 4: 8.75 case hour = 4: 5 default: 0 end end end); sollStunden(x,y) - feierSum
-
Danke Mirko,
bekomme leider diese Fehlermeldung:
-
Also ist "Feiertag" ein Auswahlfeld und kein Datumfeld, wie ich dachte. Den Aufbau Deiner Feiertagstabelle und die Felder in ihr kenne ich ja nicht. Das Script funktioniert so natürlich nicht. Wenn Du die Feiertage auch über ein Datumfeld gespeichert hast, gib doch den Namen dieses Feldes ein, oder schildere mal den Aufbau jener Tabelle.
-
Ja, "Feiertag" ist ein Auswahlfeld. Habe "Feiertage" mit dem Datumsfeld der Tabelle Feiertage ersetzt und das erwünschte Ergebnis erhalten
Vielen Dank!
Content aside
- vor 1 JahrZuletzt aktiv
- 4Antworten
- 65Ansichten
-
2
Folge bereits