0

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

null
    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    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
    
    • Master70
    • vor 1 Jahr
    • Gemeldet - anzeigen

    Danke Mirko, 

    bekomme leider diese Fehlermeldung:

    • mirko3
    • vor 1 Jahr
    • Gemeldet - anzeigen

    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. 

    • Master70
    • vor 1 Jahr
    • Gemeldet - anzeigen

    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