Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Prozess der Buchung und Zuweisung zu Töpfen:

    1. Zerschneiden der Buchungen:
      Die Buchungen eines Tages werden in

    Scheiben zerschnitten (also Anfang & Ende zusammen gesucht)Die Scheiben werden mit den Regeln für einen Tag abgeglichen (z.B. Samstag Ü50, vor 06:00 Ü50, Fahrten zw.
    1. einzelne Abschnitte unterteilt, wobei der Beginn und das Ende der Buchung zusammengeführt werden.

    2. Abgleich mit den Regeln für den Tag:
      Diese Abschnitte werden dann mit den festgelegten Regeln für den Tag abgeglichen. Beispiele:

      • Samstag: Über 50 Jahre (Ü50)

      • Vor 06:00 Uhr: Ü50

      • Zwischen 07:00 und 15:12

    Fahrzeitlohnart, …)
      • Uhr: Fahrzeitlohnart

    1. Zuweisung zu den Töpfen:
      Die Buchungen werden

    dann entsprechend in den jeweiligen Topf eingekippt
    1. in verschiedene Töpfe abgelegt, wobei jeder Topf

    für
    1. mehrere

    verschiedene
    1. Lohnarten

    fassen
    1. beinhalten kann

    ; so z.B.: der Normalarbeitszeittopf auch mit
    1. . Zum Beispiel kann der Topf für die Normalarbeitszeit (NAZ) auch Urlaubsbuchungen und Fahrten

    befüllt wird
    1. beinhalten.

...

Was ist ein "Topf

...

"?

Ein "Topf" ist ein Behälter, der:

  • Ein bestimmtes Zeitintervall abdeckt (z.B. Tages-, Wochen-, Monats- oder Jahrestöpfe).

  • Eine oder mehrere Lohnarten

...

  • aufnehmen kann.

  • Ein Faktor zur Berechnung von Zuschlägen oder Abschlägen beinhaltet. Beispiel:

    • Ü50-Topf: Faktor = 150

    • ZA15-Topf: Faktor = 115

Optional

...

hat der Topf:

  • Eine maximale Füllmenge: z.B.

...

    • Normalarbeitszeit-Tag

...

    • : 7

...

    • ,7 Stunden

    • Normalarbeitszeit-Woche

...

    • : 38

...

    • ,5 Stunden

    • MAZ-Tag

...

    • : 1

...

    • ,3 Stunden

    • MAZ-Woche

...

    • : 1,5 Stunden maximal

  • Eine minimale Füllmenge: z.B.

...

    • Normalarbeitszeit-Woche

...

    • : mindestens 38,5 Stunden

...

Füllung der Töpfe:

  • Maximale Grenze überschritten:
    Wenn ein Topf seine

...

Jeder Topf „X“ der am Ende seiner Periode die Mindestfüllmenge nicht erreicht hat wird wie folgt gefüllt:

  1. Der Algorithmus geht nach rechts (vom Topf „X“ aus) bis der Faktor steigt; bsp. von NAZ aus gehen wir über MAZ zu ZA0, dahinter wäre der Faktor > 100%

  2. Dann wird aus dem Topf so viel wie möglich/erforderlich entnommen – in diesem Bsp. aus ZA0

  3. Fehlt nach Schritt (a+b) noch etwas, wird auf den nächsten Topf mit dem gleichen Faktor entnommen – in diesem Bsp. aus MAZ

  4. Fehlt nach Schritt ( c) noch etwas wird wieder bei Schritt (a) begonnen mit dem nächst höheren Faktor

Bsp. Töpfe in Reihenfolge:

...

  • maximale Füllmenge erreicht hat, wird der überschüssige Wert in den nächsten Topf übertragen.

  • Mindestfüllmenge nicht erreicht:
    Wenn ein Topf am Ende seines Zeitraums nicht die Mindestfüllmenge erreicht, wird dieser folgendermaßen aufgefüllt:

    1. Der Algorithmus prüft die Töpfe rechts vom aktuellen Topf. Er geht weiter, bis ein Topf mit einem höheren Faktor gefunden wird. Beispiel:

      • Von NAZ geht es weiter zu MAZ, dann zu ZA0, und so weiter.

    2. Sobald ein Topf mit einem höheren Faktor gefunden wurde, wird der benötigte Betrag aus diesem Topf entnommen – z.B. aus ZA0.

    3. Falls nach dieser Entnahme noch immer etwas fehlt, wird der nächste Topf mit dem gleichen oder einem höheren Faktor überprüft – z.B. von ZA0 zu MAZ.

    4. Wenn auch nach dieser Entnahme noch etwas fehlt, beginnt der Prozess erneut mit dem nächsthöheren Faktor.

...

Beispiel für die Reihenfolge der Töpfe:

  • Fahrzeit außerhalb Normalarbeitszeit (FZ außerhalb NAZ)

  • Normalarbeitszeit (NAZ)

  • Mehrarbeitszeit (MAZ)

  • Zuschlagsarten (ZA0)

  • Zuschlagsarten (ZA15)

  • Zuschlagsarten (ZA20)

  • Überstunden über 50 Jahre (Ü50)

  • Überstunden über 100% (Ü100)

Mögliche Parameter für die “fillingPatterns”

  • Boolean skip

    auf dieser Ebene

    Wenn dieser Parameter auf "true" gesetzt ist (z.B. auf der Ebene einer Woche), wird

    dieser

    der entsprechende Topf nicht benötigt

    ; alle

    . Alle Stunden

    gehen

    werden direkt

    weiter

    in den darunterliegenden Topf weitergeleitet.

  • String balance:
    Mit dieser Funktion diesem Parameter kann daily oder weekly ein Abgleich gemacht täglich oder wöchentlich überprüft werden, ob der Topf ein Defizit hat. Falls der Topf im Minus ist und ggf. in den anderen Töpfen schauen , wird geprüft, ob er sich Stunden holen kann, damit ein Minus ausgeglichen werden kannaus anderen Töpfen entnehmen kann, um das Defizit auszugleichen.

  • Boolean blockWithdraw

    wenn einem anderen

    Wenn ein anderer Topf Stunden

    fehlen

    benötigt (

    durch minValue

    z.B. durch einen Mindestwert oder weil der Topf im Minus ist und

    balance für den Topf

    der "balance"-Parameter aktiviert wurde),

    dann

    werden Stunden aus

    den

    benachbarten Töpfen

    gesammelt; ein

    entnommen. Ein Topf mit "blockWithdraw = true" wird dabei

    aber

    jedoch ignoriert

    ;

    .
    Ausnahme:

    wenn

    Wenn bei dem Topf, dem Stunden fehlen, eine "withdrawOrder" angegeben wurde,

    dann werden (soweit vorhanden)

    können auch Stunden aus einem Topf mit

    blockWithdraw gezogen

    "blockWithdraw" entnommen werden, falls welche verfügbar sind.

  • Boolean blockSpillover
    Dieser Parameter verhindert, dass überschüssige Stunden (Spillover) in andere Töpfe übertragen werden. Wenn auf "true" gesetzt, werden keine Stunden aus diesem Topf in benachbarte Töpfe übertragen.

  • Boolean leftWithdraw:
    Wenn ein Topf aufgefüllt werden muss, dann bedient er sich als ersten von dem Topf links daneben und erst dann, falls noch was fehlt, in der gewohnten Reihenfolgewerden zuerst Stunden aus dem benachbarten Topf links davon entnommen. Wenn dort nicht genug Stunden vorhanden sind, werden die verbleibenden Stunden in der üblichen Reihenfolge aus anderen Töpfen entnommen.

  • Lohnarten-Liste: withdrawOrder ,gibt
    Diese Liste definiert die Reihenfolge der Töpfe zurück , aus denen etwaige Fehlbeträge genommen fehlende Stunden entnommen werden können; sollte . Wenn der Fehlbetrag nicht aus den angegebenen Töpfen nicht bedient gedeckt werden könnenkann, dann wird in standardwird der Prozess mit der Standard-Reihenfolge weiter eingezogenfortgesetzt. Bsp.: <withdrawOrder>120Beispiel:
    <withdrawOrder>120,130,400</withdrawOrder>

    wird bei der withdrawOrder ein Topf referenziert bei dem

    withdrawOrder>
    Wird in der "withdrawOrder" ein Topf angegeben, bei dem "blockWithdraw = true

    hinterlegt

    " gesetzt ist,

    so

    wird

    das blockWithdraw

    dies zugunsten der "withdrawOrder" ignoriert.

  • Lohnarten-Liste: withdrawOrderLimited ,gibt
    Diese Liste legt die Reihenfolge der Töpfe zurück fest, aus denen etwaige Fehlbeträge genommen fehlende Stunden entnommen werden können; sollte . Wenn der Fehlbetrag nicht aus den angegebenen Töpfen nicht bedient gedeckt werden könnenkann, dann wird der Vorgang abgebrochen. Bsp.: <withdrawOrderLimited>120Beispiel:
    <withdrawOrderLimited>120,130,400</withdrawOrderLimited> withdrawOrderLimited>

  • Boolean forcePrimaryWagetype
    Wenn dieser Parameter aktiviert ist, wird immer der primäre Lohnart-Typ verwendet, selbst wenn andere Lohnarten verfügbar sind.

  • BigDecimal minValueOffset
    Ein Wert, der verwendet wird, um den minimalen Wert eines Töpfs anzupassen.

  • BigDecimal maxValueOffset
    Ein Wert, der verwendet wird, um den maximalen Wert eines Töpfs anzupassen.

  • BigDecimal minValueAzmFactor
    Ein Faktor, der verwendet wird, um den minimalen Wert eines Töpfs basierend auf der Mehrarbeitszeit (Azm) anzupassen.

  • BigDecimal maxValueAzmFactor
    Ein Faktor, der verwendet wird, um den maximalen Wert eines Töpfs basierend auf der Mehrarbeitszeit (Azm) anzupassen.

  • BigDecimal maxValuePPeriodOffset
    Ein Wert, der verwendet wird, um den maximalen Wert eines Töpfs in Bezug auf einen bestimmten Zeitraum (PPeriod) anzupassen.

  • BigDecimal maxValuePPeriodAzmFactor
    Ein Faktor, der verwendet wird, um den maximalen Wert eines Töpfs basierend auf einem Zeitraum (PPeriod) und der Mehrarbeitszeit (Azm) anzupassen.

Mögliche Parameter auf “potMatrix” Ebene

...