Zeitscheibe
Beispiel:
<timeSliceModel>
<!-- Wenn Sonderzeiten auch berechnet werden sollen, obwohl diese nicht abgeschlossen
sind (Haken), so sind diese oben im TimeSliceModel anzugeben mittels der Option
"unconfirmedSonderzeit" -->
<unconfirmedSonderzeit>Urlaub</unconfirmedSonderzeit>
<unconfirmedSonderzeit>Krankenstand</unconfirmedSonderzeit>
<!-- Mit der Option "<acceptAllUnconfirmedSonderzeit>" kann eingestellt werden, dass
alle Sonderzeiten nicht abgeschlossen werden müssen.-->
<acceptAllUnconfirmedSonderzeit>true</acceptAllUnconfirmedSonderzeit>
<useDayBordersForTagTuples>true</useDayBordersForTagTuples> <!-- FIRST_ACTION_IS_DRIVE, LAST_ACTION_IS_DRIVE,
... Markierungen werden für jeden Tagesbeginn (bsp. Bereitschaftseinsatz am Abend) erneut gesetzt -->
<!-- wegzeit -->
<DistanceAddOn>
<pourAddOnLast>true</pourAddOnLast>
<zipCodeMapping>ZipCodesMappingAngestellte</zipCodeMapping>
<addOnAlsoIfArrivalDriveBooked>true</addOnAlsoIfArrivalDriveBooked> <!--default=false / wegzeiten auch wenn eine Fahrt zum ersten Einsatz gebucht wurde -->
<addOnAlsoIfDepartureDriveBooked>true</addOnAlsoIfDepartureDriveBooked> <!--default=false / wegzeiten auch wenn eine Fahrt nach dem letzten Einsatz gebucht wurde -->
</DistanceAddOn>
<ruleSet>
<fromTime>00:00</fromTime>
<endTime>24:00</endTime>
<dayOfWeek>sonntag</dayOfWeek>
<tupleType>wegzeit</tupleType>
<maxWorkday>false</maxWorkday>
<minWorkday>false</minWorkday>
<matchingWT>WzAng100</matchingWT>
</ruleSet>
<!-- ende wegzeiten bsp. -->
<ruleSet>
<fromTime>00:00</fromTime>
<endTime>24:00</endTime>
<dayOfWeek>*</dayOfWeek>
<tupleType>active</tupleType>
<maxWorkday>false</maxWorkday>
<minWorkday>false</minWorkday>
<matchingWT>001</matchingWT>
<suppressTaskAssignment>false</suppressTaskAssignment> <!-- default: false, erlaubt Buchungen die
auf dieser Regel basieren explizit nicht an eine Aufgabe zu binden; so werden ggf. Lohn-relevante aber
nicht Faktur-relevante Buchungen erzeugt -->
<!-- hourlyBased=true ist der default; false liefert anstatt der Anzahl der
Stunden die der Regel entsprechen den Wert 1 (oder "factor"), unabhängig von der Dauer
Zudem werden Lohnbuchungen die aus hourlyBased=false Regeln enstehen auch ohne
zugehörige Töpfe angelegt; gibt es passende Töpfe durchlaufen sie die Topflogik
-->
<hourlyBased>true</hourlyBased>
<!-- optional kann bei hourlyBased = false noch folgendes definiert werden -->
<factor>79.03</factor> <!-- ohne "factor" wird 1 angenommen; anderenfalls der factor-wert -->
<!-- wird nonHourlyAddOn mit true übergeben (default=false), dann zieht diese Regel zusätzlich;
weitere Regeln darunter werden ebefalls durchlaufen; könnte Bsp. für einen Zuschlag
für Tätigkeiten mit einer bestimmten Aufgabenart dienen -->
<nonHourlyAddOn>true</nonHourlyAddOn>
<!-- mit "onlyWithTag" kann die Regel auf Buchungen mit bestimmter Markierung
eingeschränkt werden -->
<!-- mögliche Markierungen sind: AUTODAY_CLOSE, NOT_BILLABLE, BILLABLE,
HOMEOFFICE, HOME_DRIVE, FIRST_DRIVE, FIRST_TE_DRIVE,
LAST_DRIVE, LAST_TE_DRIVE, FIRST_TE_WORK, LAST_TE_WORK, IN_COMPANY -->
<onlyWithTag>HOMEOFFICE</onlyWithTag>
<tasktype>Montage</tasktype> <!-- Einschränkung der Regel auf einen oder
mehrere (Komma getrennt) Aufgabenarten -->
<removeTaskentry>true</removeTaskentry> <!-- default=false; wird hier true
übergeben, dann wird Lohnbuchung jedenfalls ohne Auftragszuordnung erzeugt -->
</ruleSet>
<ruleSet>
<fromTime>07:00</fromTime>
<fromTimeOH>06:00</fromTimeOH> <!-- wenn auf mindestens einem Termin an dem Tag die
Option "Überstunden erlaubt" aktiviert wurde, dann gelten die erweiterten Zeiten (OH = Überstunden/OverHours) -->
<endTime>16:00</endTime>
<endTimeOH>20:00</endTimeOH>
<dayOfWeek>sunday</dayOfWeek>
<tupleType>work</tupleType> <!-- work | drive | co_drive | active | standbytime | break -->
<standbytime>Rufbereitschaft</standbytime> <!-- wenn der Typ standbytime gewählt
wurde kann hier auf die jew. Bereitschaftszeit eingeschränkt werden; ohne
Einschränkungen gilt die Regel für alle Bereitschaftszeiten (ohne Arbeitszeit) -->
<hourlyBased>false</hourlyBased> <!-- damit wird ein Pauschalwert von 1.00 ausgewiesen; unabhängig von der
Stundenanzahl -->
<addOn>false</addOn> <!-- addOn = true bedeutet dass diese Regel zusätzliche Werte zu etwaigen anderen Regeln
auslöst; also weitere Regeln durchlaufen werden; addOn Regeln müssen üblicherweise über
nicht-addOn Regeln stehen -->
<maxWorkday>false</maxWorkday> <!-- alternativ zu "true" kann hier auch ein Stundenwert angegeben werden; ist der Wert größer
als die Sollarbeitszeit lt. AZM, dann zieht das AZM; anderenfalls der Wert als
Obergrenze -->
<minWorkday>false</minWorkday> <!-- alterantiv zu "true" kann auch hier ein Stundenwert angegeben werden; es zieht
jw. der größere Wert; bei einem Konflikt mit maxWorkday, hat maxWorkday den
Vorrang -->
<matchingWT>001</matchingWT>
<tasktype>Montage,Installation</tasktype> <!-- Einschränkung der Regel auf einen oder mehrere (Komma getrennt)
Aufgabenarten -->
</ruleSet>
</timeSliceModel>
Um alle Sonderzeiten pauschal auch ohne Abschluss für die Berechnung heranzuziehen:
<acceptAllUnconfirmedSonderzeit>true</acceptAllUnconfirmedSonderzeit> |
Wochentage
Für den <dayOfWeek>
-Tag sind folgende Werte zulässig:
Deutsch | Englisch | Beschreibung |
---|---|---|
|
| Regel zieht für jeden Tag |
|
| Nur Montage |
|
| Nur Dienstage |
|
| Nur Mittwoche |
|
| Nur Donnerstage |
|
| Nur Freitage |
|
| Montag bis inkl. Donnerstag |
|
| Montag bis inkl. Freitag |
|
| Montag bis inkl. Samstag |
|
| Samstag |
|
| Sonn- und Feiertage |
|
| Nur Sonntage wenn kein Feiertag |
|
| Jeder Feiertag |
|
| Regel zieht für den 24.12. sowie 31.12. |
|
| Regel zieht für Feiertage an einem Samstag |
|
| Regel zieht für Feiertage an einem Sonntag |
Die Bezeichner können beliebig deutsch oder englisch verwendet werden; die Groß-Kleinschreibung spielt keine Rolle.
TupleType
Unter dem Begriff TupleType <tupleType> ist die Art der Tätigkeit zu verstehen die mit der Regel adressiert werden soll.
Zur Auswahl stehen:
TupleType | Beschreibung |
---|---|
| Arbeit an einem Termin |
| Arbeitszeit (d.h. zwischen Tagesbeginn-Buchung und Tagesende-Buchung) die nicht auf einem Termin gearbeitet wird (work) |
| Fahrzeit, entweder als Fahrer (kleines Lenkrad-Symbol das an einen Fußball erinnert) bzw. Beifahrer |
| Wenn die Fahrt- und Arbeitszeiten gleich geregelt sind, können diese in einer Regel zusammengefasst werden. Aktivzeiten gehören einzeln geregelt! |
| Zeit auf einer Sonderzeit; die Sonderzeit ist in dem Fall in einem Tag anzugeben. Bsp.:
|
| Gebuchte Bereitschaften werden von dieser Regel erfasst. Optional kann die Regel auf eine bestimmte Art von Bereitschaft eingeschränkt werden. Bsp.:
|
| Gebuchte Pausen können damit auf Lohnbuchungen umgelegt werden; bspw. um bei Pausen zw. Lohn- und Faktur zu unterscheiden |
Tags
Mit den “Tags” <<onlyWithTag>
> kann die Art der Tätigkeit noch weiter untergliedert werden.
Zur Auswahl stehen:
Tag | Beschreibung |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| kann in Kombination mit dem TupeType Work verwendet werden, um in der Regel Arbeiten an einem Auftrag welche in der Firma verrichtet werden eigens zu behandeln. |
|
|
Regel abhängig von Objekt und Auftragsdaten
Mitunter ist es notwendig unterschiedliche Lohnarten oder Zeit-Regeln für verschiedene Auftrags/Objekt/Kunden zu hinterlegen.
So könnten Großkunden andere Faktur-Lohnarten zugeordnet haben oder abhängig von der erforderlichen Qualifikation bei einem Auftrag andere Regeln angewendet werden.
Dazu ist es möglich bei jeder Regel <ruleSet>
ein Filter-Kriterium anzugeben. Bitte beachten: es zieht wie immer die erste Regel; d.h. Regeln mit zusätzlichen Einschränkungen immer über die generellen Regeln legen.
Syntax filterTerm
filterTerm | Beispiel |
|
---|---|---|
|
| wie bei allen Attributen in der Zeitscheibe werden auch hier Mitarbeiter-OptionParameter vorab durch die Werte des jw. MA ersetzt |
|
| auf alle Attribute (PLZ, Bezeichnung, Nummer, …) kann mit dieser einfachen Punkt-Syntax zugegriffen werden. Ausgenommen ist der Verrechnungskunde/Billing-Customer; dieser wir aktuell nicht unterstützt. |
|
(Achtung: Groß-Kleinschreibung beachten!) | wie bei den internen Attributen (siehe oben) ist es auch möglich auf OptionParameter der jw. Entitäten (Aufgabe/Objekt/Kunde) zuzugreifen. |
Syntax filterRegEx
Der filterRegEx
Parameter erlaubt ein Regular-Expression-Muster. Am besten auf regex101: build, test, and debug regex austesten.
(Achtung: Groß-Kleinschreibung beachten!)
Beispiel
<ruleSet filterRegEx="Wohnung" filterTerm="{project.optionparameterKategorie}">
<fromTime>00:00</fromTime>
<endTime>00:00</endTime>
<dayOfWeek>montag-freitag</dayOfWeek>
<tupleType>work</tupleType>
<maxWorkday>false</maxWorkday>
<minWorkday>false</minWorkday>
<matchingWT>012</matchingWT>
</ruleSet>
<ruleSet>
<fromTime>00:00</fromTime>
<endTime>00:00</endTime>
<dayOfWeek>montag-freitag</dayOfWeek>
<tupleType>work</tupleType>
<maxWorkday>false</maxWorkday>
<minWorkday>false</minWorkday>
<matchingWT>001</matchingWT>
</ruleSet>