-
-
Notifications
You must be signed in to change notification settings - Fork 18
Time Data
Mit Hilfe der Zeitdaten werden alle lohnrelevanten Informationen des Mitarbeiters zum Zeitpunkt des Auftretens als Fall erfasst. Zusätlzich zum Fallwert (z.B. Lohn, Absenztage usw.), beinhalten die Zeitdaten auch dessen Gültigkeitszeitraum. Die unmittelbare Erfassung und Terminierung der Mitarbeiterveränderung gewährleistet jederzeit aktuelle und komplette Daten. Auf dieser Grundlage sind Lohläufe zu jedem Zeitpunkt möglich. Nit dem Gültigkeitszeitraum wird bestimmt, ab wann der Wert gelten soll und ob die Änderung befristet ist.
Dadurch bieten sich neue Möglichkeit in der Betrachtung und Verwaltung von Falldaten:
- Die Dauer der Wertgültigkeit lässt sich befristen: Eingabe des Enddatums
- Eine Fallmutation kann für zukünftige Lohnläufe relevant sein: Startdatum in der Zukunft
- Eine Fallmutation kann rückwirkend sein: Startdatum in der Vergangenheit (automatischer Rückrechnung)
- Jede Fallmutation kann rückwirkend storniert werden: Falls erforderlich (automatischer Rückrechnung)
- Die Auswertungszeitpunkt der Falldaten ist wählbar: was galt damals, wie sehen die Falldaten zum Jahresende aus
Eine konventionelle Mutatione entpsricht einem Fall mit dem aktuellen Datum für den Start und einem offenen Endddatum.
Die folgende Illustration zeigt die Auswirkung für den Anwender in der Dateneingabe:
| Type | Description | Period Start | Period End | # Period Values | Example |
|---|---|---|---|---|---|
Timeless |
Value without time commitment | - | - | 1 | Pension obligation |
Moment |
Value which is assigned to a point in time | x | - | 1..n 3) | Bonus |
Period |
Value assigned to a period | x | (x) 1) 2) | n 4) | Working hours |
Calendar Period |
Value distributed to the calendar period | x | (x) 1) 2) | n 4) | Monthly wage |
1) A period without end date indicates an endless/open period
2) Eine zwingend geschlossene Periode wird mittels Scripting (Validierung) oder Case Actions (SetFieldEndRequired, SetEndRequired) erreicht.
3) Werte werden in der Periode aggregiert (PeriodAggregation): Summe, erster oder letzter Wert
4) Unlimited overlap support mit Splitting auf Tagesbasis
Das folgende Beispiel zeigt ein Szenario, wo sich die Mutationen vom Monatslohn und Risikobonus überlagern:

Die Berechnung der Zeitwerte unter Berücksichtigung von Überlappungen ist mit den vier mathematischen Basisoperatoren möglich:
- Addition
- Subtraktion
- Multiplikation
- Division
Mit dem folgenden Lohnarten-Script wird das obige Beispiel korrekt berechnet:
1 var values = GetCaseValues("Salary", "RiskBonus");
2 decimal baseSalary = values["Salary"];
3 return baseSalary + (values["Salary"] * values["RiskBonus"]);In der Zeile 1 werden die zu berechnenden Werte abgefragt, in diesem Fall Salary und RiskBonus. Für komplexere Szenarien ist die Parameterlsite entsprechend zu erweitern. Zeile 2 berechnet den Basis-Monatslohn, zu welchem in der Zeile 3 der Risikobonus addiert wird. Wichtig dabei ist der Mutliplikations-Operator, welcher die Werte in Teilperioden aufteilt und die Werte pro Teilperiode multipliziert. Das Ergbnis der Lohnart ist die Summe der Produkte aller Teilperioden.
Die Umwandlung in Zeile
2indecimalist notwendig um den Wert in Zeile3als Zahlenwert zu erhalten.
🤝 Thank you for supporting this project with a donation.
⚡ This is a pre-relase version of the initial development, please read the restrictions.
- Payroll Engine