Search Results for

    Show / Hide Table of Contents

    Functions for Working Time and Holidays (TCQL)

    Since Version 1.7 time cockpit has been able to calculate planned working hours and data about remaining paid time off for vacations. This chapter describes the functions that time cockpit contains to do this kind of calculations in TCQL statements or scripts.

    Note

    Note that you can only use this function in TCQL Queries. You cannot use them in in-memory expressions (e.g. value-based coloring in timesheet calendar) or calculated properties (CalculatedProperty).

    RemainingVacationWeeks

    Use the function RemainingVacationWeeks to calculate the remaining paid time off for vacations.

    Parameters

    Parameter Description
    userUuid ID of the user for which the function calculates the result.
    effectiveDate Effective date for which the function calculates the result.

    Examples

    The following TCQL query shows the remaining paid time off for all users in the database:

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

    The following TCQL query shows the remaining paid time off for the current user. It shows the result for end of June and end of December. Note that the example uses Environment.CurrentUser to get the current time cockpit user.

    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

    Use the function PlannedHoursOfWork to calculate the planned hours of work for a given user and time span.

    Parameters

    Parameter Description
    userUuid ID of the user for which the function calculates the result.
    beginTime Begin date/time (inclusive) for which the function calculates the result.
    endTime End date/time (inclusive) for which the function calculates the result.
    includeLumpSumOvertime Indicating whether the result should include the lump sum for overtime defined for the user.

    Examples

    The following TCQL query compares the planned hours of work and the actual hours of work:

    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

    Use the function ActualHoursOfWork to calculate the total hours of actual work for a given user and time span.

    Parameters

    Parameter Description
    userUuid ID of the user for which the function calculates the result.
    beginTime Begin date/time (inclusive) for which the function calculates the result.
    endTime End date/time (inclusive) for which the function calculates the result.
    includeWeights Indicating whether the function takes working time weights into account.
    Note

    You can assign a weight to a timesheet using the relation APP_Timesheet.APP_WorkingTimeWeight. You have to maintain the available weights in the entity APP_WorkingTimeWeight.

    Examples

    For examples see example section in chapter PlannedHoursOfWork.

    Overtime

    Use the function Overtime to calculate the overtime hours for a given user and effective date.

    Parameters

    Parameter Description
    userUuid ID of the user for which the function calculates the result.
    effectiveDate Effective date for which the function calculates the result.
    includeWeights Indicating whether the function takes working time weights into account.
    includeLumpSumOvertime Indicating whether the result should include the lump sum for overtime defined for the user.
    Note

    You can assign a weight to a timesheet using the relation APP_Timesheet.APP_WorkingTimeWeight. You have to maintain the available weights in the entity APP_WorkingTimeWeight.

    Examples

    The following TCQL query shows the overtime for all users in the database:

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

    AverageHoursOfWorkPerDay

    Use the function AverageHoursOfWorkPerDay to calculate the average planned hours of work per working day for a given user and effective date. Examples:

    • Weekly hours of work: Monday to Friday 7.7 hours
      Result: 7.7 hours
    • Weekly hours of work: Monday to Thursday 8 hours, Friday 6 hours
      Result: 7.6 hours
    • Weekly hours of work: Monday to Wednesday 4 hours
      Result: 4 hours

    Parameters

    Parameter Description
    userUuid ID of the user for which the function calculates the result.
    effectiveDate Effective date for which the function calculates the result.

    Examples

    The following TCQL query shows the average working time for all users in the database:

    From U In UserDetail
    Select New With
    {
            .User = U,
            .HoursPerDay = :AverageHoursOfWorkPerDay(U.UserDetailUuid, #2011-12-31#)
    }
    
    • Improve this Doc
    In This Article
    Back to top Copyright © 2020 software architects gmbh