Table of Contents

Funktionen für Arbeitszeit und Feiertage (TCQL)

Seit Version 1.7 kann time cockpit die Sollarbeitszeit sowie Daten zum verbleibenden bezahlten Urlaub berechnen. Dieses Kapitel beschreibt die Funktionen, die time cockpit für solche Berechnungen in TCQL-Anweisungen oder Skripten enthält.

Hinweis

Beachten Sie, dass Sie diese Funktion nur in TCQL-Abfragen verwenden können. Sie können sie nicht in Ausdrücken, die im Speicher ausgewertet werden (z. B. wertabhängige Einfärbung im Zeiterfassungskalender), oder in berechneten Eigenschaften (TimeCockpit.Data.DataModel.CalculatedProperty) verwenden.

RemainingVacationWeeks

Mit der Funktion RemainingVacationWeeks berechnen Sie den verbleibenden bezahlten Urlaub.

Parameter

Parameter Beschreibung
userUuid ID des Benutzers, für den die Funktion das Ergebnis berechnet.
effectiveDate Stichtag, für den die Funktion das Ergebnis berechnet.

Beispiele

Die folgende TCQL-Abfrage zeigt den verbleibenden bezahlten Urlaub aller Benutzer in der Datenbank:

From U In UserDetail
Select New With
{
        .User = U,
        .RemainingPaidTimeOff = :RemainingVacationWeeks(U.APP_UserDetailUuid, #2011-12-31#)
}

Die folgende TCQL-Abfrage zeigt den verbleibenden bezahlten Urlaub des aktuellen Benutzers. Sie zeigt das Ergebnis für Ende Juni und Ende Dezember. Beachten Sie, dass das Beispiel Environment.CurrentUser verwendet, um den aktuellen time cockpit Benutzer zu ermitteln.

From U In UserDetail
Where U.UserDetailUuid = Environment.CurrentUser.UserDetailUuid
Select New With
{
        .RemainingPTO_2011_06 = :RemainingVacationWeeks(U.APP_UserDetailUuid, #2011-06-30#),
        .RemainingPTO_2011_12 = :RemainingVacationWeeks(U.APP_UserDetailUuid, #2011-12-31#)
}

PlannedHoursOfWork

Mit der Funktion PlannedHoursOfWork berechnen Sie die Sollarbeitszeit eines Benutzers für einen bestimmten Zeitraum.

Parameter

Parameter Beschreibung
userUuid ID des Benutzers, für den die Funktion das Ergebnis berechnet.
beginTime Beginndatum/-zeit (inklusive), für die die Funktion das Ergebnis berechnet.
endTime Enddatum/-zeit (inklusive), für die die Funktion das Ergebnis berechnet.
includeLumpSumOvertime Gibt an, ob das Ergebnis die für den Benutzer definierte Überstundenpauschale enthalten soll.

Beispiele

Die folgende TCQL-Abfrage vergleicht die Sollarbeitszeit mit der tatsächlichen Arbeitszeit:

From U In UserDetail
Select New With
{
        .User = U,
        .PlannedHoursOfWork = :PlannedHoursOfWork(U.UserDetailUuid, #2011-01-01#, #2011-12-31#, True),
        .ActualHoursOfWork = :ActualHoursOfWork(U.UserDetailUuid, #2011-01-01#, #2011-12-31#, True),
        .Deviation = :ActualHoursOfWork(U.UserDetailUuid, #2011-01-01#, #2011-12-31#, True) 
                - :PlannedHoursOfWork(U.UserDetailUuid, #2011-01-01#, #2011-12-31#, True)
}

ActualHoursOfWork

Mit der Funktion ActualHoursOfWork berechnen Sie die tatsächlich geleisteten Arbeitsstunden eines Benutzers für einen bestimmten Zeitraum.

Parameter

Parameter Beschreibung
userUuid ID des Benutzers, für den die Funktion das Ergebnis berechnet.
beginTime Beginndatum/-zeit (inklusive), für die die Funktion das Ergebnis berechnet.
endTime Enddatum/-zeit (inklusive), für die die Funktion das Ergebnis berechnet.
includeWeights Gibt an, ob die Funktion Arbeitszeitgewichtungen berücksichtigt.
Hinweis

Einer Zeitbuchung können Sie über die Beziehung APP_Timesheet.APP_WorkingTimeWeight eine Gewichtung zuweisen. Die verfügbaren Gewichtungen pflegen Sie in der Entität APP_WorkingTimeWeight.

Beispiele

Beispiele finden Sie im Abschnitt mit Beispielen im Kapitel PlannedHoursOfWork.

Overtime

Mit der Funktion Overtime berechnen Sie die Überstunden eines Benutzers zu einem bestimmten Stichtag.

Parameter

Parameter Beschreibung
userUuid ID des Benutzers, für den die Funktion das Ergebnis berechnet.
effectiveDate Stichtag, für den die Funktion das Ergebnis berechnet.
includeWeights Gibt an, ob die Funktion Arbeitszeitgewichtungen berücksichtigt.
includeLumpSumOvertime Gibt an, ob das Ergebnis die für den Benutzer definierte Überstundenpauschale enthalten soll.
Hinweis

Einer Zeitbuchung können Sie über die Beziehung APP_Timesheet.APP_WorkingTimeWeight eine Gewichtung zuweisen. Die verfügbaren Gewichtungen pflegen Sie in der Entität APP_WorkingTimeWeight.

Beispiele

Die folgende TCQL-Abfrage zeigt die Überstunden aller Benutzer in der Datenbank:

From U In UserDetail
Select New With
{
        .User = U,
        .Overtime = :Overtime(U.UserDetailUuid, #2011-12-31#, True, True)
}

AverageHoursOfWorkPerDay

Mit der Funktion AverageHoursOfWorkPerDay berechnen Sie die durchschnittliche Sollarbeitszeit pro Arbeitstag eines Benutzers zu einem bestimmten Stichtag. Beispiele:

  • Wochenarbeitszeit: Montag bis Freitag 7,7 Stunden
    Ergebnis: 7,7 Stunden
  • Wochenarbeitszeit: Montag bis Donnerstag 8 Stunden, Freitag 6 Stunden
    Ergebnis: 7,6 Stunden
  • Wochenarbeitszeit: Montag bis Mittwoch 4 Stunden
    Ergebnis: 4 Stunden

Parameter

Parameter Beschreibung
userUuid ID des Benutzers, für den die Funktion das Ergebnis berechnet.
effectiveDate Stichtag, für den die Funktion das Ergebnis berechnet.

Beispiele

Die folgende TCQL-Abfrage zeigt die durchschnittliche Arbeitszeit aller Benutzer in der Datenbank:

From U In UserDetail
Select New With
{
        .User = U,
        .HoursPerDay = :AverageHoursOfWorkPerDay(U.UserDetailUuid, #2011-12-31#)
}