Beispiel:
Code Block | ||||
---|---|---|---|---|
| ||||
<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:
|
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.
...
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 https://regex101.com/ austesten.
(Achtung: Groß-Kleinschreibung beachten!)
Beispiel
Code Block | ||
---|---|---|
| ||
<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> |